如何在R中将文本保存到文件?

4

我有一个 R 函数,可以通过使用 cat() 生成 LaTeX 代码(输出为 LaTex 代码),但现在我想保存这些 LaTeX 代码,但我不知道哪个函数可以保存这些 LaTeX 代码...


2
你确定Sweave对你没有帮助吗? - Roman Luštrik
3个回答

5

我喜欢使用sink()函数:

latex.code <- function(){
   cat("\\begin{align}\n")
   cat("[X'X]^{-1}X'y\n")
   cat("\\end{align}\n")
}
sink(file='ols.txt')
latex.code()
sink()

编辑:显然,您可以通过更改sink参数来选择文件保存的文件路径,例如:sink(file='c:/Users/Eva/Desktop/ols.txt')sink(file='~/ols.txt')


4
假设您的 R 函数返回 LaTeX 代码的字符字符串(如果您提供一些具体的示例,将更有助于明确问题),则可以使用 cat() 函数输出到文件,并使用 file= 参数指定文件。您可以通过 ?cat 了解相关信息。

是的,我的 R 函数返回的是使用 cat() 输出的字符串,但我不知道如何保存这个 cat()。 - Eva
我尝试过使用语句 while if cat(@@@@, file="argument"),但我的文件保存在哪里? - Eva
@user471448 这是我在Unix机器上使用cat命令的示例。cat(sum(1,2), "/Users/ditkin/Desktop/foo.txt") - ditkin
1
请遵循我的建议(以及发布指南),并提供一个最小化可重现的示例(即我可以自己运行的代码),我会尽力提供更多帮助。 - joran
1
@Eva 所有文件都保存在 setwd() 中,只要没有设置绝对路径。 - Roman Luštrik

3

如果你的输出结果是一个字符向量(例如,你使用类似cat(<something>)的方法将它写入控制台),你可以使用writeLines函数来实现:

writeLines(<something>,"filename.txt")

然而,在R中制作LaTeX文件的最佳方法是使用Sweave或制作brew模板。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接