Basic R - Вывод базовой корреляционной таблицы R -> LaTex или текст - PullRequest
6 голосов
/ 21 февраля 2011

Я создаю таблицу корреляции с http://myowelt.blogspot.com/2008/04/beautiful-correlation-tables-in-r.html

Однако мне не удается вывести файл в пригодный для использования файл LaTex или текстовый файл.Мне не удалось использовать sink() для сохранения данных в текстовом файле.

Предположим, я использую следующую команду:

corstarsl(lpp_axis1)

Как мне передать вывод в текстовый файл?Я прочитал документацию на мойку, и я где-то пропускаю шаг.(Я открываю соединение, выполняю команду, отсоединяю файл и ничего не нахожу.)

Я также пытался использовать вывод из xtable(cortstarsl(lpp_axis1)) в текстовом файле, но получаю "таблицу элементов необнаружена ошибка. Я не знаю достаточно о Tex для отслеживания источника проблемы.

Рекомендации по выводу этих данных? Другие предложения по созданию корреляционной таблицы?

1 Ответ

5 голосов
/ 21 февраля 2011

Используя код с веб-страницы, на которую вы ссылаетесь, я получаю (со встроенными airquality данными):

> require(Hmisc)
> require(xtable)
> xtable(corstarsl(airquality))
% latex table generated in R 2.12.1 by xtable 1.5-6 package
% Mon Feb 21 20:00:34 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllll}
  \hline
 & ozone & solar.r & wind & temp & month \\ 
  \hline
ozone &  &  &  &  &  \\ 
  solar.r &  0.35*** &  &  &  &  \\ 
  wind & -0.60*** & -0.06  &  &  &  \\ 
  temp &  0.70*** &  0.28*** & -0.46*** &  &  \\ 
  month &  0.16  & -0.08  & -0.18*  &  0.42*** &  \\ 
  day & -0.01  & -0.15  &  0.03  & -0.13  & -0.01  \\ 
   \hline
\end{tabular}
\end{center}
\end{table}

Итак, вопрос в том, как получить этот вывод TeX в файл. Здесь capture.output() один друг:

> capture.output(xtable(corstarsl(airquality)), file = "mytable.tex")

Который выводит код в файл с именем mytable.tex:

$ cat mytable.tex 
% latex table generated in R 2.12.1 by xtable 1.5-6 package
% Mon Feb 21 20:01:03 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rlllll}
  \hline
 & ozone & solar.r & wind & temp & month \\ 
  \hline
ozone &  &  &  &  &  \\ 
  solar.r &  0.35*** &  &  &  &  \\ 
  wind & -0.60*** & -0.06  &  &  &  \\ 
  temp &  0.70*** &  0.28*** & -0.46*** &  &  \\ 
  month &  0.16  & -0.08  & -0.18*  &  0.42*** &  \\ 
  day & -0.01  & -0.15  &  0.03  & -0.13  & -0.01  \\ 
   \hline
\end{tabular}
\    end{center}
\end{table}

Для вывода простого текста с разделителями, возможно, для выгрузки в текстовый процессор или электронную таблицу, попробуйте write.table(), например:

> write.table(corstarsl(airquality), file = "mytable2.txt")

В результате получается такой файл:

$ cat mytable2.txt 
"ozone" "solar.r" "wind" "temp" "month"
"ozone" "" "" "" "" ""
"solar.r" " 0.35***" "" "" "" ""
"wind" "-0.60***" "-0.06 " "" "" ""
"temp" " 0.70***" " 0.28***" "-0.46***" "" ""
"month" " 0.16 " "-0.08 " "-0.18* " " 0.42***" ""
"day" "-0.01 " "-0.15 " " 0.03 " "-0.13 " "-0.01 "

Вы можете изменить цитату и разделитель для вашего сердца - см. ?write.table.

...