एक थोड़ा बदल उदाहरण खोने के बिना करते हैं),:dplyr, (मॉडल से पैरामीटर एक्सट्रैक्ट करते() के लिए R मदद से समूहीकरण चर
by_cyl <- group_by(mtcars, cyl)
models <- by_cyl %>% do(mod = lm(mpg ~ disp, data = .))
coefficients<-models %>% do(data.frame(coef = coef(.$mod)[[1]]))
dataframe में गुणांक, वहाँ के पहले गुणांक है प्रत्येक cyl समूह के लिए रैखिक मॉडल। मेरा सवाल यह है कि मैं डेटाफ्रेम कैसे उत्पन्न कर सकता हूं जिसमें गुणांक वाले न केवल कॉलम हों, बल्कि समूह चर के साथ एक स्तंभ भी शामिल है।
===== संपादित करें: मैं उदाहरण का विस्तार और अधिक स्पष्ट मेरी समस्या बनाने के लिए प्रयास करने के लिए
मान लेते हैं कि मैं मॉडल और कुछ भविष्यवाणी के गुणांकों को निकालने के लिए चाहते हैं। मैं यह कर सकता हूं:
by_cyl <- group_by(mtcars, cyl)
getpars <- function(df){
fit <- lm(mpg ~ disp, data = df)
data.frame(intercept=coef(fit)[1],slope=coef(fit)[2])
}
getprediction <- function(df){
fit <- lm(mpg ~ disp, data = df)
x <- df$disp
y <- predict(fit, data.frame(disp= x), type = "response")
data.frame(x,y)
}
pars <- by_cyl %>% do(getpars(.))
prediction <- by_cyl %>% do(getprediction(.))
समस्या यह है कि कोड अनावश्यक है क्योंकि मैं मॉडल को दो बार फिट कर रहा हूं। मेरा विचार एक समारोह है कि सभी जानकारी के साथ एक सूची लौटाती निर्माण किया गया था:
getAll <- function(df){
results<-list()
fit <- lm(mpg ~ disp, data = df)
x <- df$disp
y <- predict(fit, data.frame(disp= x), type = "response")
results$pars <- data.frame(intercept=coef(fit)[1],slope=coef(fit)[2])
results$prediction <- data.frame(x,y)
results
}
समस्या यह है कि मैं कैसे उदाहरण सिर्फ एक साथ dataframe के लिए प्राप्त करने के लिए समारोह getAll के साथ क्या उपयोग करने के लिए() नहीं जानता है पैरामीटर (डेटाफ्रेम पार्स की तरह)।
सुनिश्चित नहीं हैं कि अगर यह मदद करता है। आप दूसरे 'do' के बजाय 'सारांश' का उपयोग कर सकते हैं। संक्षेप में (मॉडल, कोफ = कोफ (सारांश (मॉड)) [[1]], समूह = सीआईएल) – akrun
यह एक बग है, और जैसे ही मैं समझता हूं कि मैं इसे ठीक कर दूंगा। – hadley
@ हैडली क्या यह तय किया गया है? क्या आप कृपया जिथब मुद्दे को इंगित कर सकते हैं? –