![Как сохранить вывод R xtable(data.frame) в документе .tex?](https://rvso.com/image/111985/%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%20R%20xtable(data.frame)%20%D0%B2%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B5%20.tex%3F.png)
Я хочу представить вывод R data.frame как таблицу LaTeX. Структура данных data.frame
. При выполнении print(DF.tex)
, вывод выглядит нормально в STOUT, в отличие от файла.
Ожидаемый вывод: формат UTF-8
Код 1
DF <- head(iris)
library("xtable") # https://stackoverflow.com/a/9274146/54964
filename.tex <- paste("/home/masi/text.tex")
DF.tex <- xtable(DF)
save(DF.tex, file = filename.tex)
Вывод в пути расположения: некий шестнадцатеричный криптографический
Код 2
f <- file(filename.tex, 'w') # https://stackoverflow.com/a/19837122/54964
cat(file = f, DF.tex, append = TRUE)
Вывод: файл размером 0 байт
Код 3
Я использую много функций в своем скрипте, поэтому на всякий случай используюprint()
save(file = filename.tex, print(DF.tex))
Вывод: зашифрованный шестнадцатеричный файл
R: 3.4.0 (backports)
ОС: Debian 8.7
Связано: Тест 2 расширен в theardКак сохранить вывод R stargazer(data.frame) в документе .tex?с stargazer
пакетом
решение1
При выполнении примера кода 1 полученный файл «filename.tex» на самом деле является gzip-файлом объекта R, содержащим данные tex. Чтобы сохранить текстовый вывод объекта без сжатия, используйте:
print(DF.tex, file = "/home/masi/filename.tex", compress = FALSE)
Для меня тестирование с помощью latex2html filename.tex
дает хорошо отформатированную таблицу.