我有一个统计模型列表:
###Data import
Responses <- as.data.frame(matrix(sample(0:10, 1*100, replace=TRUE), ncol=2))
colnames(Responses) <- c("A","B")
Explanatories <- as.data.frame(matrix(sample(20:30, 1*100, replace=TRUE), ncol=2))
colnames(Explanatories) <- c("x","y")
###Create models
Models <- list(
lm(Responses$A ~ Explanatories$x),
lm(Responses$B ~ log10(Explanatories$x)),
lm(Responses$B ~ exp(Explanatories$y))
)
以及一个空模型列表。这些对应于上一个列表中的模型,例如,我想将“Models”中的第一个 lm 与“Models_null”中的第一个 lm 进行比较:
Models_null <- list(
lm(Responses$A ~ 1),
lm(Responses$B ~ 1),
lm(Responses$B ~ 1)
)
All_models <- list(Models,Models_null)
names(All_models)<-c("full","res")
我想使用以下公式计算每个模型的 AICc 分数:
aicc<-function(x) AIC(x)+((2*length(coef(x))*(length(coef(x))+1))/(length(resid(x))-length(coef(x))-1))
我需要根据每个完整模型和空模型之间的 AICc 分数比较进行一些计算。所以我需要的是显示每对模型的 AICc 分数的数据框列表,其中 2 列用于 'full' 和 'null。提前感谢您对此提供的任何帮助。