#r #text #save
#r #текст #Сохранить
Вопрос:
У меня есть функция R, которая может генерировать код LaTeX (на выходе получается код LaTeX) с помощью cat()
, в то время как теперь я хочу сохранить этот код LaTeX, но я не знаю, какая функция может сохранить этот код LaTeX…
Комментарии:
1. Вы уверены, что Sweave не поможет?
Ответ №1:
Мне нравится использовать sink()
функцию:
latex.code <- function(){
cat("\begin{align}n")
cat("[X'X]^{-1}X'yn")
cat("\end{align}n")
}
sink(file='ols.txt')
latex.code()
sink()
Редактировать: Очевидно, что вы можете выбрать путь к файлу, в котором будет сохранен файл, изменив аргумент приемника, такой как: sink(file='c:/Users/Eva/Desktop/ols.txt')
, или sink(file='~/ols.txt')
Ответ №2:
Предполагая, что ваша функция R возвращает символьную строку кода LaTeX (ваш вопрос был бы намного улучшен, если бы вы сделали его более конкретным, приведя несколько конкретных примеров), вы можете вывести что-то подобное в файл, используя функцию cat () и указав файл, используя аргумент file = . Вы можете прочитать об этом через ?cat.
Комментарии:
1. ДА, моя функция R возвращает строку с помощью cat (), но я не знаю, как сохранить этот cat ()…
2. Я пытался, но если cat(@@@@, file=»аргумент»), где сохраняется мой файл??
3. @user471448 вот пример того, как я использую cat на своей машине unix. cat(сумма(1,2), «/Users/ditkin/Desktop/foo.txt «)
4. Следуйте моим советам (и руководству по размещению) и предоставьте минимально воспроизводимый пример (т. Е. Код, который я могу запустить сам), а я постараюсь помочь еще немного.
5. @Eva Все файлы сохраняются, при условии, что не задан абсолютный путь к
setwd()
.
Ответ №3:
Если случается так, что у вас есть выходные данные в виде символьного вектора (т. Е. вы используете что-то вроде cat(<something>)
для его записи на консоль), вы можете использовать writeLines
функцию, подобную этой:
writeLines(<something>,"filename.txt")
Однако лучший способ создать LaTeX-файл на R — это использовать Sweave или создать шаблон brew.