0
我想使用表格命令在R/Sweave中创建一个表。我希望行标签成为我的数据框consca
的标题。 (每列是一个问题,每行是一个学生的每一个问题的回答。)我使用的命令是这样的:data.frame列作为R中的表格行标签
latex(tabular(Heading('Questions')*(paste(labels(consca)[[2]],collapse='+')) ~ (n=1) + (mn +
sdev),data=consca))
会抛出这个错误:
Error in term2table(rows[[i]], cols[[j]], data, n) :
Argument paste(labels(consca)[[2]], collapse = "+") is not length 298
粘贴参数作品...
paste(labels(consca)[[2]],collapse='+')
[1] "Q02+Q03+Q06+Q17+Q19+Q25+Q31+Q33+Q36+Q39+Q45+Q50"
,并产生输出我的愿望:
latex(tabular(Heading('Questions')*(Q02+Q03+Q06+Q17+Q19+Q25+Q31+Q33+Q36+Q39+Q45+Q50) ~ (n=1) +
(mn + sdev),data=consca))
但是,我想用多种比例(即我想将consca
更改为其他对象,并且我想消除复制/粘贴步骤。)
我已经拨弄eval
和as.symbol
,但无济于事。也许我没有以正确的方式使用它们。
OK,而对于那些你们谁希望最小的可重复的例子,这里有云:
require(tables)
a <- rnorm(10)
b <- rnorm(10,2)
c <- rnorm(10,100)
x <- data.frame(a,b,c)
# This works:
tabular(a+b+c ~ (mean + sd), x)
# This fails:
tabular(paste(labels(x)[[2]],collapse='+') ~ (mean+sd),x)
# Even though:
paste(labels(x)[[2]],collapse='+')
[1] "a+b+c"
您应该提及您使用的软件包...我假设** Hmisc **? – Thomas
这将是[表格包](http://cran.r-project.org/web/packages/tables/vignettes/tables.pdf)。这种不正当行为都在表格功能中。我编辑了我的例子。 – wolfste4