Estoy seguro de que alguna vez has visto un gráfico en el que una línea recta o algún otro tipo de curva, se ajusta a una serie de observaciones representadas por medio de puntos sobre un gráfico. Ese ajuste que se realiza sobre un conjunto de puntos, es lo que conocemos como regresión lineal, y nos permite saber mediante una fórmula la dependencia de una variable dependiente (por eso se llama así) de una variable independiente.
En definitiva, buscamos una función y = f(x), que nos dará un modelo matemático que explique el comportamiento de las observaciones realizadas. Este modelo matemático nos permitirá entender la relación entre las variables estudiadas y predecir futuras observaciones.
Contenidos
¿Cómo hacer un modelo matemático en R?
Vamos a construir una regresión lineal en R.
Primero creamos una pequeña base de datos con las dos variables que queremos estudiar (en este caso serán edad y altura). En R se conoce este tipo de estructura de datos como data frame:
# Creamos 2 variables
edad=c(1,2,3,5,7,9,11,13)
edad
[1] 1 2 3 5 7 9 11 13
altura=c(76.1,86.4,95.2,109.1,122.0,133.7,143.7,156.4)
altura
[1] 76.1 86.4 95.2 109.1 122.0 133.7 143.7 156.4
# Y las metemos en un data.frame
datos=data.frame(edad,altura)
datos
edad altura
1 1 76.1
2 2 86.4
3 3 95.2
4 5 109.1
5 7 122.0
6 9 133.7
7 11 143.7
8 13 156.4
De esta forma, como vemos en el resultado de llamar al data.frame DATOS, al primer registro de la variable EDAD le hemos asignado el primer registro de la variable ALTURA. Estos datos representan la altura de un niño según ha ido cumpliendo años, por lo que si lo representamos en un gráfico PLOT, podremos ver fácilmente que tienen una relación creciente (a mayor edad, más altura).
# Podemos hacer el gráfico con el data frame
plot(datos)
# O con las variables
plot(edad,altura)
Y en ambos casos obtendremos este mismo gráfico:

Y, ¿cómo podemos obtener una función que sea capaz de representar a esos puntos con la mayor exactitud posible? Pues construyendo un modelo matemático simple o una regresión lineal simple en R.
¿Cómo usar la función lm en R?
Como hemos dicho, es muy fácil construir una regresión en R gracias a la función lm. Y hoy en concreto vamos a ver como se utiliza esta función lm() para construir una regresión lineal simple (pero también es posible construir una regresión lineal múltiple).
# Regresión Lineal en R
regresion = lm(edad~altura, data=datos)
regresion

Si utilizamos la función summary sobre una regresión construida en R, obtendremos el detalle que esperamos tener cuando estamos construyendo un modelo matemático.
summary(regresion)

¿Cómo interpretar el resultado de una regresión lineal lm() en R?
Aquí hay muchas cosas con las que podríamos profundizar, pero vamos a lo que nos concierne para la construcción de ese modelo matemático que nos permita interpretar la relación entre edad y altura.
- Multiple R-squared, R cuadrado o R2: mide el nivel de ajuste del modelo que nos ha construido el software R. Es un valor que está siempre comprendido en el intervalo [0-1], donde 1 indica un ajuste perfecto y 0 que no existe ajuste. O dicho de otro modo, este R2 lo que nos indica es sí podemos explicar o predecir una variable haciendo uso de la otra.
- p-value, p-valor o valor p: es un valor que no permite medir el nivel de significación del estudio. Por defecto, los estudios suelen realizarse bajo un nivel de confianza del 95%, o lo que es lo mismo, un nivel de significación del 0,05. En el ejemplo anterior, el p-valor es prácticamente 0 (1.507e-07, que viene a ser 0.0000001.507), por lo que podemos considerar que hemos obtenido una buena regresión.
- Pr(>|t|): representa el valor p de cada una de las variables. Este valor lo veremos mejor cuando estemos realizando una regresión múltiple, pero básicamente viene a decirnos si la variable independiente (en este caso ALTURA) es válida para predecir la variable dependiente (en este caso EDAD).
- Estimate (Coefficients): estos son los valores estimados para conseguir esa predicción o regresión. El ejemplo anterior nos daría como resultado la siguiente función para predecir la EDAD.
La regresión lineal se representa generalmente con la siguiente fórmula:
Y = b0 + b1 * X
Por lo que la fórmula obtenida para nuestra regresión lineal (lm) sería:
EDAD = -11.239690 + 0.152740 * ALTURA
Veamos un ejemplo, ¿qué edad tendría una persona con 100 cm de altura?:
b0 = -11.239690
b1 = 0.1527
predecir_edad = b0 + b1 * 100
predecir_edad
[1] 4.03031
Según nuestro modelo matemático, esta persona tendría poco más de 4 años cuando alcanzase los 100 cm de altura.
Si queremos dar el resultado de una forma más exacta, podemos multiplicar ese “pico” por encima de 4, por el número de días que tiene un año (0.03031 * 365 = 11.06), y así obtendríamos la edad de una forma más exacta: 4 años y 11 días
Oreste Bruno dice
Hola, muchas gracias por la info de este tema, del que tenía muchas dudas, sobre todo desconocía cuales eran los valores de b0 y b1, y me lo has aclarado. Un abrazo grande.
Javier dice
Muchas gracias por compartir tu experiencia Oreste
Ivan dice
Hola, disculpe por hacer una pregunta muy tonta pero no se como estimar los coeficientes b0 y b1
gracias por leer
Carmen dice
Muchísimas gracias!
Alexander dice
Infinitas gracias, presentó un ejemplo limpio, estructurado y directo, difícil encontrar un material así; en otros espacios enredan las cosas más de lo necesario