在R中创建表格的说明

在R中创建表格的说明,r,latex,R,Latex,我有一个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 &

我有一个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中的数据框


提前感谢

使用xtable软件包中的print.xtable。这将允许您指定标题,您可以在其中放置所需的文本。然后,要添加星形,只需添加一列即可:

require(xtable)
tbl$significance <- ifelse(tbl[,5] > .7, "*", "")
print.xtable(xtable(tbl), caption = "")

看看这是否符合你的要求。几乎可以肯定的是,有更有效的方法可以做到这一点,但没有任何关于数据结构的细节——要知道你真正需要的是什么,这有点像读心术。话虽如此,假设数据来自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)))
))

什么构成重要变量?摘要采用什么形式?是否为文本,是否为另一个表格,是否要在有效数字旁边加粗/斜体/加*号?进入表格的数字从何而来?@Chase:重要变量是值大于0.7的变量,例如d和e的值=0.99,它们是重要的。我希望总结是表下的文本,例如变量d和e非常相似| a和e非常相似0.02 wrt T,甚至更不相似wrt C,我想把*放在有效数字上,数字来自R中的数据框,谢谢你help@Chase:您能否帮助在有效值>0.5的值旁边显示星号,并在更有效值>0.7的值旁边显示两颗星?谢谢您的回复。但当我尝试代码时,它给了我一个错误,这里是你使用了多少TeX的内存:494019中的2个字符串,3143873 48862个字符中的12个字符串,300万个单词中的12个字符串,顺便说一句,我希望输出像我在帖子中提到的一样多出1行。谢谢你advance@weblover-这能满足您的需要吗?非常感谢,这正是我需要的,但我发现在大型表中,这会增加宽度并隐藏一些数据。有没有一种方法可以根据值来制作特定的背景色?与您所做的相同,但不是星星,而是特定的背景色advance@weblover-我认为这与你最初提出的问题根本不同。如果我的答案或@Jimmy的答案是你的问题,我会为将来发现这个问题的其他人做标记。至于改变背景颜色,谷歌第一次搜索“改变latex表的背景”会得到这篇文章,这篇文章似乎就是你想要的:。我对乳胶没有太多的经验,所以不能提供太多帮助。谢谢你的帮助:,我找到了另一种方法,我使用geom_tile只绘制颜色
% 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}
>