2015-07-06 47 views
0

我已經能夠跨越數據幀反覆應用一般可加模型,所以這裏sp_a是響應變量...提取模型的可靠性應用跨數據幀

sp_a <- rnorm (100, mean = 3, sd = 0.9) 
var_env_1 <- rnorm (100, mean = 1, sd = 0.3) 
var_env_2 <- rnorm (100, mean = 5, sd = 1.6) 
var_env_3 <- rnorm (100, mean = 10, sd = 1.2) 
data <- data.frame (sp_a, var_env_1, var_env_2,var_env_3) 
library(mgcv) 
Gam <- lapply(data[,-1], function(x) summary(gam(data$sp_a ~ s(x)))) 

這將創建之間的GAM迭代地應答變量和每個解釋變量。但是,我將如何從每個模型中提取p值或s.pv。有人知道怎麼做這個嗎?另外,按照他們的AIC分數排序他們會很高興......

Gam1 <- gam(sp_a ~ s(var_env_1)) 
Gam2 <- gam(sp_a ~ s(var_env_2)) 
Gam3 <- gam(sp_a ~ s(var_env_3)) 
AIC(Gam1,Gam2,Gam3) 

但是從原來的'Gam'輸出中選擇它。感謝您提前提供任何幫助。

回答

0

最後,很明顯我不得不刪除總結選項,然後讓我計算所有模型的AIC分數。其他有趣的格式化方法可以在這裏找到Using lapply on a list of models,因爲這些功能適用於不同類型的模型(例如lm,glm)。

Gam <- lapply(data[,-1], function(x) gam(data$sp_a ~ s(x))) 
sapply(X = Gam, FUN = AIC)