将对象另存为 .R 中的 R 文件,保持格式

Save an object as a .R file within R, keeping formatting

提问人:Hack-R 提问时间:5/18/2015 更新时间:5/19/2015 访问量:56

问:

我正在编写一个在模板中读取的 R 脚本。R 文件,一个日期列表,并创建一堆与日期相对应的文件夹,并包含 .R,其中在 R 中执行了文本替换,以自定义给定日期的每个脚本。

我被困在我写出 .R 文件,因为格式和/或字符表示不断被搞砸。

下面是一个最小的、可重现的示例:

RMapsDemo <- readLines("https://raw.githubusercontent.com/hack-r/RMapsDemo/master/RMapsDemo.R")
RMapsDemo <- gsub("## File: RMapsDemo.R", "## File: RMapsDemo.R ####", RMapsDemo)
save(RMapsDemo, file = "RMapsDemo.R")            # Doesn't work right
save(RMapsDemo, file = "RMapsDemo.R", ascii = T) # Doesn't work right
dput(RMapsDemo, file = "RMapsDemo.R")            # Close, but no cigar
dput(RMapsDemo, file = "RMapsDemo.R", control = c("keepNA", "keepInteger")) # Close, but no cigar
r

评论

1赞 Ricardo Saporta 5/18/2015
你试过吗?writeLines()
0赞 Hack-R 5/18/2015
@RicardoSaporta 不,好主意。我会试试的。
1赞 Ricardo Saporta 5/18/2015
随意提交它作为答案,以便其他人可以谷歌它
0赞 Hack-R 5/18/2015
@RicardoSaporta 当然,我以为你会想这样做,但我可以做到,并在答案中给你信用

答:

1赞 Hack-R 5/18/2015 #1

里卡多·萨波尔塔(Ricardo Saporta)在评论中指出了解决方案--使用.writeLines

我自己没有想到这一点,我感到很愚蠢。它工作得很好。

writeLines(RMapsDemo, con = "RMapsDemo.R")

评论

1赞 Hack-R 5/19/2015
@RicardoSaporta啊!对不起 -- 修复了它。理查德是我经常在这里交谈的其他人的名字。我很抱歉。