load(url('http://goo.gl/VBCKLE'))
load(url('http://goo.gl/qX6u1T'))
dispositivos
: hoja de datos de dispositivos según marca
y preciosist
: vector de sistema operativotiempo
: vector de tiemposx
: hoja de datos de una encuesta con muchas
variablesIntercept
)Intercept
)lm(formula, data, subset)
formula
: en el caso simple, es una expresión de la
forma y ~ x
, donde y
debe ser la etiqueta o
nombre de la variable dependiente, el símbolo ~
expresa la
dependencia, x
debe ser la etiqueta o nombre de la variable
independiente. En el caso múltiple, es una expresión de la forma
y ~ x1 + x2 + ...
, donde y
debe ser la
etiqueta o nombre de la variable dependiente, el símbolo ~
expresa la dependencia, x1
, x2
,
...
deben ser las etiquetas o nombres de las variables
independientes.data
: nombre de la hoja de datos con las variables en
juego (o nada si los datos están en vectores).subset
: opcional, un vector para indicar un sobconjunto
de los datos (por ejemplo, una columna con un valor concreto,
columna=="valor"
).Coefficients
:
Intercept
(el término independiente, el \(a\)).Multiple R-squared
)Adjusted R-squared
)summary()
:lm()
, que se ha
llamado antes.Multiple R-squared
, y usado para regresión simple)Adjusted R-squared
, y usado para regresión múltiple).predict(object, newdata,...)
object
: el resultado de la función lm()
,
que se ha llamado antes.newdata
: hoja de datos con alguna(s) columna(s) cuya(s)
etiqueta(s) coincida(n) con la(s) de la(s) variable(s) independiente(s).
Si no hay, se debe crear, de la forma
data.frame(x1=..., x2=..., xp=...)
, donde x1
,
x2
, …, xp
son las etiquetas de las variables
independientes que correspondan.newdata
.EJERCICIO 1: Escribe en la consola
data(mtcars)
y recuerda la explicación de los datos con
help(mtcars)
. Tendrás definida la variable
mtcars
para realizar las siguientes tareas:
1.1. Representa gráficamente el consumo (mpg
) en
función de la cilindrada del motor (disp
)
1.2. Suponiendo correcto el modelo lineal de la dependencia del
consumo (mpg
) sobre la cilindrada del motor
(disp
), escribe la ecuación de la recta de regresión usando
todos los coches de los datos mtcars
. (Sol.: \(mpg=29.5999-0.0412151·disp\)).
1.3. Escribe el coeficiente de bondad de ajuste de dicha recta de regresión. (Sol.: \(0.7183433\), como es regresión simple, es decir, solo 1 variable “X”, entonces devolvemos el R-cuadrado “múltiple”, aunque parezca paradójico).
1.4. Realiza la predicción de “millas por galón”, para un coche cuya cilindrada es de 230 pulgadas cúbicas. (Sol.: \(20.1203772\) millas).
FIN EJERCICIO 1
EJERCICIO 2
Repite los apartados del EJERCICIO 1, pero usando sólo
los datos de los coches de 4 cilindros. (Ayuda: usar el
argumento subset
)
2.5. ¿Qué ajuste ha salido mejor, el que usaba todos los datos, o el que usa solo los de coches de 4 cilindros? (Sol.: El que usa todos los datos, porque su coeficiente de bondad de ajuste es mayor).
FIN EJERCICIO 2
EJERCICIO 3
Ahora supongamos que analizamos el modelo lineal de dependencia del
consumo (mpg
) sobre la cilindrada del motor
(disp
) y el peso del vehículo (wt
).
FIN EJERCICIO 3
aov(formula, data)
formula
: expresión de la forma y ~ x
,
donde y contiene los datos de la variable \(Y\) y x los del factor X.data
: hoja de datos con las variables implicadas. Si se
omite, se buscan entre los vectores definidos en R.aov
(al que se le pueden aplicar otras funciones
de interés).summary( object )
, donde object es el resultado
de aov()
Pr(F>)
.a
, b
,…) de modo que:
a
)ab
, porque “empata” con el
nivel superior y también con el nivel inferior)b
, porque no empata con el nivel
superior)LSD.test(y, trt, alpha, console)
. ¡Atención!
Hay que tener instalado, y cargado, el paquete agricolae
(ir al menú Packages
).y
: objeto devuelto por la función
aov()
.trt
: nombre (etiqueta entrecomillada)
de la variable factor.alpha
: nivel de significación deseado (0.05 por
defecto).console
: poner a TRUE para visualizar resultado.LSD
: valor de la mínima distancia significativa, ya
, b
, etc.) según se
separen por la LSD o no. Si un nivel no se puede separar del grupo
anterior a
ni del siguiente b
, entonces forma
parte de un grupo mixto ab
, que ni coincide ni se distingue
de los otros dos, etc.EJERCICIO 4
Un estudio pretende encontrar el mejor tipo de alimento para que los
pollos de una granja cojan más peso. Se dividen los pollos en grupos
parecidos y a cada grupo se le da un tipo de alimento. Tras un tiempo se
pesa todos los pollos, y los datos se recogen en la variable
chickwts
. Para ello tienes que escribir en la consola
data(chickwts)
.
4.1. Representa gráficamente el peso de los pollos en función de su dieta.
4.2. Intuitivamente,¿crees que todas las dietas conducen a un mismo peso medio de los pollos? (Sol.: (lo que te dicte la intuición estará bien)).
4.3.¿A qué conclusión lleva un ANOVA si usas una significación del 5 %? (Sol.: p-valor = 0.000000000594 < alpha = 0.05, por tanto rechaza \(H_0\), por tanto los pesos medios NO son iguales todos; por tanto creemos que la dieta sí afecta al peso).
4.4. Realiza las comparaciones a posteriori, si procede, para poner en un ranking las dietas, usando la misma significación. (Sol.: Ranking: sunflower (a) > casein (a) > meatmeal (b) > soybean (bc) > linseed (c) > horsebean (d)).
FIN EJERCICIO 4
EJERCICIO 5: Se analiza el tiempo que tarda un
programa multiplataforma en realizar una tarea, según el sistema
operativo donde se ejecuta. Los datos están en vectores sueltos (el
vector tiempo
almacena el tiempo, mientras que el vector
sist
almacena en qué sistema operativo se ejecutó la
tarea).
5.1. Representa gráficamente los tiempos de cada sistema
operativo. (Sol.: plot(factor(sist), tiempo)
(para que
salgan cajas es preciso convertir la variable factor a
factor
en R)).
5.2. Intuitivamente,¿crees que el sistema operativo influye sobre el tiempo? (Sol.: (lo que te dicte la intuición estará bien).
5.3.¿A qué conclusión lleva un ANOVA si usas una significación
del 5 %? (Sol.: p-valor = 0.9103 > alpha = 0.05, por tanto
aceptar \(H_0\), por tanto \(\mu_W = \mu_L = \mu_M\), por tanto
sist
no afecta a tiempo
).
5.4. Realiza las comparaciones a posteriori, si procede, para poner en un ranking los sistemas, usando la misma significación. (Sol.: No proceden las “comparaciones a posteriori” porque han empatado los 3 sistemas)..
FIN EJERCICIO 5
EJERCICIO 6 Un dispositivo se vende al público bajo
tres marcas (“A”, “B” y “C”). La variable dispositivos
es
una hoja de datos con los precios del dispositivo según marca en 50
tiendas.
6.1. Representa un diagrama de caja comparativo de los precios de dispositivos según marca.
6.2. Intuitivamente,¿crees que el precio medio es igual para las tres marcas? (Sol.: (lo que te dicte la intuición estará bien)).
6.3.¿A qué conclusión lleva un ANOVA si usas una significación
del 5 %? (Sol.: \(p\)-valor <
2e-16
< 0.05, por tanto rechazar \(H_0\), por tanto “marca SI influye en
precio”).
6.4. Realiza comparaciones a posteriori, si procede, para poner en un ranking las marcas, usando la misma significación. ¿Qué grupos de marcas salen? (Sol.: El ranking es A (a) > B (b) > C (c)).
FIN EJERCICIO 6
lm(formula, data, subset)
(montar la ecuación con los
nombres de variables y los coeficientes que muestra en pantalla)summary()
sobre el
objeto creado con lm
y buscar en pantalla
Multiple R-squared
y Adjusted R-squared
predict(obj, newdata)
con obj
el onjeto creado con la función lm
y
newdata=data.frame(...)
con las etiquetas de variables
igualadas a los valoresEJERCICIO 7: Para los datos de la encuesta
x
, si el peso de un individuo está parcialmente explicado
por su altura, analizamos la recta de regresión del peso sobre la
altura.
7.1. Representa gráficamente el peso de la gente
(peso
) en función de la altura (altura
) y
localiza visualmente un valor “extraño”
7.2. Escribe la ecuación de la recta de regresión y calcula el coeficiente R-cuadrado de bondad de ajuste, cuando se usan los datos de TODOS los encuestados. (Sol.: \(peso=-35.744+0.629654·altura\), R-cuadrado = \(0.0579281\) (extremadamente bajo)).
7.3. Repite el apartado anterior sin tener en cuenta un individuo que marcó un peso de 175 kg. (Sol.: \(peso=-55.2999+0.723539·altura\), R-cuadrado = 0.3364361 (también bajo, pero más normal)).
7.4. Repite el apartado anterior, pero usando solo los datos de los encuestados que usan Windows como sistema operativo en PC (no olvides excluir también al de los 175kg, que debe haber sido un dato erróneo). (Sol.: \(peso=-90.8622+0.922354·altura\), R-cuadrado = 0.3919589).
7.5. Predice el peso de alumnos de 170, 171, 172,… y 180 cm, usando la recta de regresión del peso sobre la altura del apartado anterior. (Sol.: 65.9379366, 66.8602902, 67.7826437, 68.7049973, 69.6273509, 70.5497045, 71.472058, 72.3944116, 73.3167652, 74.2391188, 75.1614723 (se pueden hacer todos con una sola instrucción)).
FIN EJERCICIO 7