Tôi có dữ liệu mà tôi thường xuyên chạy hồi quy. Mỗi "đoạn" dữ liệu được phù hợp với một hồi quy khác nhau. Ví dụ, mỗi tiểu bang có thể có một hàm khác giải thích giá trị phụ thuộc. Điều này có vẻ giống như một loại "chia nhỏ kết hợp áp dụng" điển hình vì vậy tôi đang sử dụng gói plyr. Tôi có thể dễ dàng tạo danh sách các đối tượng lm()
hoạt động tốt. Tuy nhiên tôi không thể hoàn toàn quấn quanh đầu của tôi như thế nào tôi sử dụng những đối tượng sau này để dự đoán giá trị trong một data.frame riêng biệt.sử dụng dự đoán với danh sách các đối tượng lm()
Dưới đây là một ví dụ hoàn toàn giả tạo minh họa những gì tôi đang cố gắng để làm:
# 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?
Vậy làm thế nào để tôi sử dụng lm()
đối tượng chứa trong modelList
để dự đoán giá trị sử dụng trong năm và tình trạng giá trị độc lập từ newData
?
rằng hoàn toàn móng tay nó! Cảm ơn bạn nhiều. Bạn có thể giải thích nơi data.frame 'piece' đến từ đâu không? Nó có được tạo tự động bằng ddply không? –
@JDLong: '.fun' cuối cùng được gọi trên một khung dữ liệu có tên là' piece'. Nhưng, như @BrianDiggs đã chỉ ra trong trò chuyện, điều này không nên dựa vào. Tốt hơn để bọc trong một chức năng ẩn danh (xem bản cập nhật của tôi). –
Xin chào, nếu bạn có thể xem câu hỏi của tôi, nó sẽ tuyệt vời http://stackoverflow.com/questions/43427392/apply-predict-between-data-frames-within-two-lists. cảm ơn! – aaaaa