Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20

힘센캥거루
2026년 1월 5일
4
18

Antes me preguntaba si realmente hacía falta aprender R cuando ya sabía usar Python.

Al seguir este curso de formación, me di cuenta de que, a la hora de investigar, no es realmente necesario usar Python.

En Python, con numpy hay que hacer la regresión lineal, dibujar los gráficos, calcular el valor p, etc., pero en R todo termina de una vez con lm y summary.

Así que hoy voy a repasar de forma general todo lo que hemos aprendido hasta ahora en las prácticas con R y mostrar algunos ejemplos de ejercicios usando datos reales.

1. Datos de ejemplo

Los datos de ejemplo son un conjunto de datos de calificaciones de estudiantes estadounidenses publicado en Kaggle.

Para quienes no estén registrados en Kaggle, dejo el enlace más abajo.

Según se indica, estos datos se crearon para analizar la influencia sobre el rendimiento académico del alumnado de factores como el trasfondo familiar, la realización de un curso de preparación para exámenes, etc.

He pegado a continuación los valores internos de los datos.

Explicándolo de forma sencilla: gender es el sexo del estudiante, race la raza, parental level el nivel educativo de los padres, lunch el precio del almuerzo escolar y test preparation indica si ha completado o no un curso de preparación para exámenes.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-1

2. Abrir un archivo csv en R Studio

El comando para cargar archivos en R Studio es read.

Si te da pereza introducir la ruta del archivo, basta con copiar el archivo haciendo clic sobre él y luego pegar: la ruta se insertará automáticamente.

O puedes usar el comando file.choose() y seleccionar el archivo desde la ventana de Windows.

Por cierto, para ejecutar cada línea de comando, hay que usar ctrl + enter (cmd + enter en Mac).

data <- read.csv("파일경로")
// dat <- read.csv(file.choose())

head(data)
Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-2

3. Análisis de regresión lineal

Ahora probemos una regresión lineal sencilla con estos datos.

La función lm recibe como parámetros internos, en este orden, lm(variable dependiente ~ variable independiente, hoja de datos).

Por ejemplo, si queremos ver la relación entre la nota de matemáticas y la de inglés, podemos ejecutar lo siguiente:

m1 <- lm(data$math.score ~ data$writing.score, data)
summary(m1)

Con esto, el análisis de regresión lineal queda resuelto de forma muy sencilla.

Sin necesidad de configurar nada, se obtienen valores como errores, prueba t, p-value, etc., con una calidad suficiente para incluirlos en un artículo, lo cual es muy cómodo.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-3

4. Trazar gráficos

Los gráficos también se pueden dibujar de forma muy sencilla.

Con solo introducir plot(m1) se generan la mayoría de los gráficos necesarios.

Si quieres trabajar con datos concretos, basta con introducir los valores del eje x y del eje y en ese orden, separados por comas.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-4

5. Análisis de regresión múltiple

Cuando hay muchas variables, en la posición del parámetro de variables independientes de lm se introducen todas las variables separadas con +.

Por ejemplo, si queremos ver el efecto de la nota de lectura y la de matemáticas sobre la nota de escritura, podemos analizarlo así:

m2 <- lm(data$writing.score ~ data$reading.score + data$math.score, data)
summary(m2)
Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-5

6. Tratamiento de variables categóricas (datos no numéricos)

Las variables categóricas son variables que dividen los datos en grupos o categorías cualitativas.

Se utilizan para tratar datos no numéricos como el sexo, el nivel educativo, etc.

Aquí vamos a trabajar con el ejemplo más sencillo: el sexo.

Usamos la función ifelse() para inyectar en data la variable ficticia gender1.

data$gender1 <- ifelse(data$gender == "male", 0, 1)
// 첫번째 조건이 참일경우 0, 거짓일 경우 1을 입력
head(data)

Después de esto, si comprobamos la tabla, veremos que se ha creado una nueva columna gender1 y que tiene el valor 1 para las mujeres y 0 para los hombres.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-6

Ahora podemos usar esto para hacer un análisis de regresión lineal.

Lo curioso es que, aunque no hagamos todo este proceso, la regresión también funciona si metemos directamente gender.

m3 <- lm(data$math.score ~ data$gender, data)
plot(m3)

Esto se debe a que R trata las variables de tipo carácter como hicimos arriba y después realiza el análisis.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-7

Con el sexo es fácil porque solo hay dos categorías, pero cuando se trata del nivel educativo de los padres o de grupos con varios ítems, la cosa cambia un poco.

Si hay n categorías, se necesitan n-1 variables ficticias adicionales.

Se pueden crear a mano, pero no parece mala idea dejarle el alma a R y que él se encargue.

m4 <- lm(data$math.score ~ data$race.ethnicity, data)
summary(m4)
plot(m4)
Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-8Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-9

7. Cálculo y uso de los residuos con resid

Con resid se pueden calcular los residuos de cada término respecto a la curva de regresión lineal.

Usando los residuos podemos comprobar si los datos son lineales y cómo es la varianza.

Primero analizamos los datos y, usando una variable y el resultado del análisis, calculamos los residuos y trazamos el gráfico.

m5 <- lm(data$math.score ~ data$writing.score, data)
res1 <- resid(m5)

plot(data$writing.score, res1)
Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-10

Al dibujar el gráfico de esta forma, vemos que la varianza de los datos reales no es homocedástica.

En estos casos, hay que ajustar la escala del eje para cada valor.

8. Análisis de interacciones con R - Regresión paso a paso

El análisis de regresión paso a paso consiste en ir añadiendo variables una a una y comprobar su influencia.

El investigador puede hacerlo manualmente, pero en R todo este proceso se puede automatizar.

m7 <- lm(data$math.score ~ ., data)
m8 <- step(m7, direction = "both")
summary(m8)
Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-11

Este método es sencillo, pero su interpretación es complicada.

Por eso se dice que se prefiere más el análisis de regresión jerárquica, que se lleva a cabo según la intención del investigador.

9. Comentarios finales

Yo pensaba que bastaba con meter una regresión paso a paso, elegir el modelo que mejor explicara los datos y luego sacar conclusiones en la dirección del p-value más bajo, pero no era así.

Aunque R es muy cómodo, me di cuenta de que el proceso de pensamiento del investigador es fundamental para llegar a conclusiones.

Antes de estudiar, pensaba que podía resolverlo todo con Python sin aprender R, pero estaba muy equivocado.

He acabado por alabar a R.

Curso de investigación educativa y análisis estadístico para docentes - Colección de prácticas con R de las sesiones 13 a 20-12

관련 글

2026년 동국대학교 미래사회 교원역량 강화 포럼 오프라인 참여 후기
2026년 동국대학교 미래사회 교원역량 강화 포럼 오프라인 참여 후기
어느 선생님이 재미있어 보이는 연수를 하나 소개시켜 주셨다.동국대에서 진행하는 AI 관련 연수였다.AI인 것도 좋인데 연수가 호텔에서?이건 무조건 가야 한다 싶었다.해당일 연수가 열리자 마자 신청해서 오프라인으로 참석하게 되었다.1. 앰배서더 서울 풀만 호텔처음에는 접...
Reseña de la visita a la Feria de Educación de Corea (2026)
Reseña de la visita a la Feria de Educación de Corea (2026)
Por casualidad, a través de Instagram obtuve información sobre el evento de la Feria de Educación de Corea.El año pasado no pude ir porque coincidía c...
Vista previa del contenido de Ciencias de la Tierra en el currículo revisado de 2022 - Unidad 3 Cuerpos celestes del sistema solar y evolución de las estrellas y del universo
Vista previa del contenido de Ciencias de la Tierra en el currículo revisado de 2022 - Unidad 3 Cuerpos celestes del sistema solar y evolución de las estrellas y del universo
Esta vez es la última parada del recorrido por Ciencias de la Tierra.Vamos a echar un vistazo a la Unidad 3.1. Estructura de contenidosEn la estructur...
Comisión Nacional de Educación, reforma de los criterios de superación del Bachillerato por Créditos
Comisión Nacional de Educación, reforma de los criterios de superación del Bachillerato por Créditos
[Este artículo ha sido elaborado con IA a partir de un video en directo.]Centrado en la asistencia vs. reflejo del rendimiento… “Es peligroso fijar el...
Formación en investigación educativa y análisis estadístico para docentes - Resumen de las sesiones 21~30 y opinión final
Formación en investigación educativa y análisis estadístico para docentes - Resumen de las sesiones 21~30 y opinión final
Hoy quiero dejar por escrito lo que recuerdo y mis impresiones de las sesiones 21~30 de la formación en investigación educativa y análisis estadístico...
Vista previa del contenido de Ciencias de la Tierra en el plan de estudios revisado de 2022 - Unidad 2 Historia de la Tierra y rocas de la península de Corea
Vista previa del contenido de Ciencias de la Tierra en el plan de estudios revisado de 2022 - Unidad 2 Historia de la Tierra y rocas de la península de Corea
En el artículo anterior vimos el contenido de la Unidad 1 junto con algunos ejercicios.Siguiendo con ese texto, en esta ocasión vamos a echar un vista...

댓글을 불러오는 중...