создать объяснение таблицы в R - PullRequest
0 голосов
/ 12 апреля 2011

у меня есть латексная таблица, сгенерированная внутри PDF из фрейма данных R после статистического теста, я хочу создать сводку этой таблицы, которая объяснит, каковы значимые переменные внутри нее.как это можно сделать ??

это таблица:

  \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 ]

3 голосов
/ 13 апреля 2011

Посмотрите, делает ли это то, что вы хотите. Почти наверняка есть более эффективные способы сделать это, но без каких-либо подробностей о структуре ваших данных - это просто игра для чтения мыслей, чтобы знать, что именно вам действительно нужно. Сказав это, похоже, вы делаете то, что хотите, если предположить, что данные поступают из 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 голос
/ 12 апреля 2011

Используйте print.xtable из пакета xtable.Это позволит вам затем указать заголовок, где вы можете поместить текст, который вы хотите.Затем, чтобы добавить звезду, вы можете просто добавить столбец:

require(xtable)
tbl$significance <- ifelse(tbl[,5] > .7, "*", "")
print.xtable(xtable(tbl), caption = "")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...