我在统计测试后从R数据框中生成了一个PDF中的乳胶表,我想创建一个这个表的摘要来解释其中的重要变量。怎么做到这一点??
这就是表格:
\hline
& a & b & c & d & e \\
\hline
a & 1.00 & 0.00 & 0.00 & 0.00 & 0.02 \\
b & 0.00 & 1.00 & 0.00 & 0.08 & 0.40 \\
c & 0.00 & 0.00 & 1.00 & 0.00 & 0.00 \\
d & 0.00 & 0.08 & 0.00 & 1.00 & 0.99 \\
e & 0.02 & 0.40 & 0.00 & 0.99 & 1.00 \\
\hline
注意:重要的变量是具有大于0.7的值的变量,例如(d和e具有值= 0.99)它们是重要的。我希望摘要在表格下面作为文本(例如变量d和e非常相似| a和e是“弱相似”(0.02)T与C)更不相似,我想把*放在显着位置数字,数字来自R
中的数据框提前致谢
答案 0 :(得分:3)
看看这是否符合您的要求。几乎肯定有更有效的方法可以做到这一点,但没有关于数据结构的任何细节 - 知道你真正需要什么是读者的游戏。话虽如此,假设数据来自data.frame:
,这似乎可以做你想要的require(xtable)
#Sample data
set.seed(1)
dat <- data.frame(matrix(abs(rnorm(25)), ncol = 5
, dimnames = list(letters[1:5], letters[1:5])))
xtable(apply(dat, c(1,2), function(x)
ifelse(x > .7, paste(round(x,3), "**", sep = ""),
ifelse(x > .5, paste(round(x,3), "*" , sep = ""),round(x,3)))
))
产地:
% latex table generated in R 2.12.2 by xtable 1.5-6 package
% Tue Apr 12 21:23:31 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllll}
\hline
& a & b & c & d & e \\
\hline
a & 0.626* & 0.82** & 1.512** & 0.045 & 0.919** \\
b & 0.184 & 0.487 & 0.39 & 0.016 & 0.782** \\
c & 0.836** & 0.738** & 0.621* & 0.944** & 0.075 \\
d & 1.595** & 0.576* & 2.215** & 0.821** & 1.989** \\
e & 0.33 & 0.305 & 1.125** & 0.594* & 0.62* \\
\hline
\end{tabular}
\end{center}
\end{table}
>
答案 1 :(得分:1)
使用xtable包中的print.xtable。然后,这将允许您指定可以放置所需文本的标题。然后要添加星标,您只需添加一列:
require(xtable)
tbl$significance <- ifelse(tbl[,5] > .7, "*", "")
print.xtable(xtable(tbl), caption = "")