0
我正在使用R中的MuMIn包來爲我的數據選擇最佳模型。在這裏,我使用一個使用代碼提供的Cement數據集的例子。將疏通功能輸出轉換爲R中的data.frame
require(MuMIn)
data(Cement)
d <- data.frame(Cement)
idx <- seq(11,13)
avgmod.95p <- list()
for (i in 1:length(idx)){
d2 <- d[1:idx[i],]
fm1 <- lm(y ~ ., data = d2)
dd <- dredge(fm1, extra = c("R^2", F = function(x)
summary(x)$fstatistic[[1]]))
# 95% confidence set:
confset.95p <- get.models(dd, cumsum(weight) <= .95)
avgmod.95p[[i]] <- model.avg(confset.95p)
}
正如你所看到的,我跑和迭代循環來構建數據集模型的平均預期(這是我改變的長度在這裏,爲了說明)。可變avgmod.95返回:
> avgmod.95p[[1]][3]
$avg.model
Estimate Std. Error Adjusted SE Lower CI Upper CI
(Intercept) 56.1637849 15.06079485 15.15303057 26.4643908 85.8631791
X1 1.4810616 0.14016773 0.16302190 1.1615446 1.8005787
X2 0.6850913 0.05397343 0.06358329 0.5604704 0.8097123
X4 -0.6063184 0.05919637 0.06964775 -0.7428255 -0.4698113
X3 0.2126228 0.19480789 0.23502854 -0.2480246 0.6732703
,其包括所估計的參數和所述下部和上部的置信區間。
如何合併全部由迭代循環的輸出爲一個data.frame,例如:
Variable Estimate Lower CI Upper CI
X1 1.4810616 1.1615446 1.8005787
X1
X1
X2
即我將擁有X1,X2和X3,其中三是數量三個值循環中的迭代。
如何才能做到這一點?我曾嘗試過:
do.call(rbind.data.frame, avgmod.95p)
但它不起作用,因爲它提供了一個錯誤。
代碼是否正確?我得到''global.models'na.action'參數沒有設置,options('na.action')是「na.omit」'作爲錯誤。 – mvw
我忘了包括包裝,現在應該工作。 – KatyB
仍然無法正常工作。你能檢查'dd < - dredge..'這行嗎? – mvw