Tengo datos en los que regularmente ejecuto regresiones. Cada "porción" de datos se ajusta a una regresión diferente. Cada estado, por ejemplo, podría tener una función diferente que explique el valor dependiente. Esto parece ser un típico problema de "combinación de aplicación dividida", así que estoy usando el paquete plyr. Puedo crear fácilmente una lista de objetos lm()
que funciona bien. Sin embargo, no puedo entender cómo uso esos objetos más adelante para predecir valores en un data.frame separado.usando predecir con una lista de objetos lm()
Aquí está un ejemplo totalmente artificial que ilustra lo que estoy tratando de hacer:
# setting up some fake data
set.seed(1)
funct <- function(myState, myYear){
rnorm(1, 100, 500) + myState + (100 * myYear)
}
state <- 50:60
year <- 10:40
myData <- expand.grid(year, state)
names(myData) <- c("year","state")
myData$value <- apply(myData, 1, function(x) funct(x[2], x[1]))
## ok, done with the fake data generation.
require(plyr)
modelList <- dlply(myData, "state", function(x) lm(value ~ year, data=x))
## if you want to see the summaries of the lm() do this:
# lapply(modelList, summary)
state <- 50:60
year <- 50:60
newData <- expand.grid(year, state)
names(newData) <- c("year","state")
## now how do I predict the values for newData$value
# using the regressions in modelList?
Entonces, ¿cómo puedo usar los objetos contenidos en lm()
modelList
para predecir los valores utilizando los valores independientes año y el Estado de newData
?
que lo clava totalmente! Muchas gracias ¿Puedes explicar de dónde viene el data.frame 'piece'? ¿Es autogenerado por ddply? –
@JDLong: '.fun' se llama finalmente en un marco de datos llamado' pieza'. Pero, como señaló @BrianDiggs en el chat, no se debe confiar en esto. Es mejor incluir una función anónima (ver mi actualización). –
hola, si pudiera echar un vistazo a mi pregunta, sería genial http://stackoverflow.com/questions/43427392/apply-predict-between-data-frames-within-the-lists. ¡Gracias! – aaaaa