在htmlreg中使用字符向量

时间:2014-02-12 16:41:00

标签: r texreg

我确信我在这里遗漏了一些明显的东西。我估计很少使用plm包的模型,然后使用htmlreg和knitr打印它们。

我使用以下代码生成html输出

htmlreg(list(perf1.fe,perf1.re),stars=c(0.001,0.01, 0.05,0.1))

我的问题是我必须打印13个模型,每个模型都有不同的模型变量。所以我想要一种使以下代码工作的方法

felist <- paste0("perf",c(1:13),".fe")
relist <- paste0("perf",c(1:13),".re")

htmlreg(list(union(felist,relist),bold="0.10",stars = c(0.001,0.01, 0.05,0.1))

当我运行上面的代码时,我收到以下错误

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘extract’ for signature ‘"character"’

更新:包括使用LM的可重复示例

ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2, 10, 20, labels = c("Ctl","Trt"))

weight <- c(ctl, trt)
random_num <- runif(20)
lm.D1 <- lm(weight ~ group)
lm.D2 <- lm(weight ~ group + random_num)
lm.D1_wo_int <- lm(weight ~ group - 1) # omitting intercept
lm.D2_wo_int <- lm(weight ~ group + random_num - 1) # omitting intercept


library(texreg)
htmlreg(list(lm.D1,lm.D2,lm.D1_wo_int,lm.D2_wo_int))


lmlist1 <- paste0("lm.D",c(1,2))
lmlist2 <- paste0("lm.D",c(1,2),"_wo_int")
lmlist <- union(lmlist1,lmlist2)
htmlreg(list(lmlist))

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您必须创建模型列表,而不是与对象名称对应的字符串列表。

可以使用mget以下列方式创建此列表:

mylist <- mget(c(lmlist1, lmlist2))

然后您可以使用htmlreg

htmlreg(mylist)