significa - sabermetria pdf
¿Cuál es la diferencia entre lm(ofensa $ R ~ ofensa $ OBP) y lm(R ~ OBP)? (2)
En el primer caso, obtienes esto si imprimes el modelo:
Call:
lm(formula = offense$R ~ offense$OBP)
Coefficients:
(Intercept) offense$OBP
-0.1102 0.5276
Pero en el segundo, obtienes esto:
Call:
lm(formula = R ~ OBP)
Coefficients:
(Intercept) OBP
-0.1102 0.5276
Mire el nombre de los coeficientes. Cuando crea sus nuevos datos con newdata=data.frame(OBP=0.5)
, eso realmente no tiene sentido para el primer modelo, por lo que newdata se ignora y solo obtiene los valores pronosticados con los datos de entrenamiento. Cuando usa offense$R ~ offense$OBP
, la fórmula tiene solo dos vectores en cada lado, sin nombres asociados a un data.frame
.
La mejor manera de hacerlo es:
obp <- lm(R ~ OBP, data=offense)
predict(obp, newdata=data.frame(OBP=0.5), interval="predict")
Y obtendrá el resultado correcto, la predicción para OBP=0.5
.
Estoy tratando de usar R para crear un modelo lineal y usarlo para predecir algunos valores. El tema es estadísticas de béisbol. Si hago esto:
obp <- lm(offense$R ~ offense$OBP)
predict(obp, newdata=data.frame(OBP=0.5), interval="predict")
Aparece el error: Mensaje de advertencia: ''newdata'' tenía 1 fila pero las variables encontradas tienen 20 filas.
Sin embargo, si hago esto:
attach(offense)
obp <- lm(R ~ OBP)
predict(obp, newdata=data.frame(OBP=0.5), interval="predict")
Funciona como se esperaba y obtengo un resultado. ¿Cuál es la diferencia entre los dos? Si solo imprimo OBP y ofensa $ OBP, se ven iguales.
No hay diferencia, obtienes los mismos coeficientes.
Pero algunos estilos de programación son mejores que otros, y se debe evitar adjuntar, al igual que la primera forma más detallada.
La mayoría de los usuarios experimentados
lm(R ~ OBP, offense)
en lugar.