library(tables)
iris2 <- iris[ iris$Species != 'versicolor', ]
iris2$Species <- factor(iris2$Species)
tmp <- tabular( Petal.Width+Petal.Length + Sepal.Width+Sepal.Length ~ Species* (mean+sd), data=iris2 )
tmp.p <- sapply( names(iris2)[1:4], function(x) t.test( iris2[[x]] ~ iris2$Species )$p.value )
tmp
> tmp
Species
setosa virginica
mean sd mean sd
Petal.Width 0.246 0.1054 2.026 0.2747
Petal.Length 1.462 0.1737 5.552 0.5519
Sepal.Width 3.428 0.3791 2.974 0.3225
Sepal.Length 5.006 0.3525 6.588 0.6359
我想把我的R表变成乳胶代码。所以我跑了
> latex(tmp, file = "")
% latex.default(tmp, file = "")
%
\begin{table}[!tbp]
\begin{center}
\begin{tabular}{rrrrrrrrrrrrrrrr}\hline\hline
\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}&\multicolumn{1}{c}{}\tabularnewline\hline
$0.246$&$1.462$&$3.428$&$5.006$&$0.105385589380046$&$0.173663996480184$&$0.379064369096289$&$0.352489687213451$&$2.026$&$5.552$&$2.974$&$6.588$&$0.274650055636667$&$0.551894695663983$&$0.322496638172637$&$0.635879593274432$\tabularnewline
\hline
\end{tabular}
\end{center}
\end{table}
这就是R给我的。但问题是只有1行,实际上应该至少有5行。第一行是物种名称,第二行是花瓣宽度,第三行是花瓣长度,依此类推。这与tmp
是tabular
而不是table
有什么关系?我可以更改哪些表格以乳胶格式显示?另外,有没有办法只在一列中为{4}的花瓣宽度mean (sd)
写0.246 (0.105)
,而不是有两个单独的列?
答案 0 :(得分:0)
您显示的输出在您致电
时发生latex.default(tmp, file = "")
如果你打电话
latex(tmp, file = "")
然后你得到正确的输出,因为它找到tabular
项的适当方法。