在R中创建表的解释

时间:2011-04-11 22:36:41

标签: r latex

我在统计测试后从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

中的数据框

提前致谢

2 个答案:

答案 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 = "")
相关问题