希望以LaTex格式为出版物创建AIC选择表,但我似乎无法获得我想要的表单。我把谷歌搜索到了死亡,非常惊讶我找不到答案。我在R中找到了更为模糊的问题的答案。
下面是一些代码,我制作的一些表格,我并不过分热衷,底部是我想制作的一般结构,但是作为stargazer包的漂亮乳胶表格式
我试图为这两个包使用额外的参数来达到我想要的但是不成功。
##Create dummy variables
a<-1:10
b<-c(10:3,1,2)
c<-c(1,4,5,3,7,3,6,2,4,5)
##Create df
df<-data.frame(a,b,c)
##Build models
m1<-lm(a~b,data=df)
summary(m1)
m2<-lm(a~c,data=df)
m3<-lm(a~b+c,data=df)
m4<-lm(a~b*c,data=df)
##View list of AIC values
AIC(m1,m2,m3,m4)
########################CREATE AIC SELECTION TABLE
##Using MuMIn Package
library(MuMIn)
modelTABLE <- model.sel(m1,m2,m3,m4)
View(modelTABLE) ##No AIC values, just AICc, no R-squared, and model name (i.e, a~b) not present
##Using stargazer Package
library(stargazer)
test<-stargazer(m1,m2,m3,m4 ,
type = "text",
title="Regression Results",
align=TRUE,
style="default",
dep.var.labels.include=TRUE,
flip=FALSE
## ,out="models.htm"
)
View(test) ##More of a table depicting individual covariate attributes, bottom of table doesn't have AIC
###Would like a table similar to the following
Model ModelName df logLik AIC delta AICweight R2
m1 a ~ b 3 -6.111801 18.2 0 0.95 0.976
m3 a ~ b + c 4 -5.993613 20 1.8 0.05 0.976
m4 a ~ b * c 5 -5.784843 21.6 3.4 0.00 0.977
m2 a ~ c 3 -24.386821 54.8 36.6 0.00 0.068
`
答案 0 :(得分:1)
model.sel
结果为data.frame
,因此您可以修改它(添加模型名称,舍入数字等)并使用例如导出到乳胶来自latex
包的Hmisc
。
# include R^2:
R2 <- function(x) summary(x)$r.squared
ms <- model.sel(m1, m2, m3, m4, extra = "R2")
i <- 1:4 # indices of columns with model terms
response <- "a"
res <- as.data.frame(ms)
v <- names(ms)[i]
v[v == "(Intercept)"] <- 1
# create formula-like model names:
mnames <- apply(res[, i], 1, function(x)
deparse(simplify.formula(reformulate(v[!is.na(x)], response = response))))
## OR
# mnames <- apply(res[, i], 1, function(x)
# sapply(attr(ms, "modelList"), function(x) deparse(formula(x)))
res <- cbind(model = mnames, res[, -i])
Hmisc::latex(res, file = "")