我有一些包含我写的函数的R文件。我提供这些文件以使功能可用。如果foo是我的功能,我输入:
foo <- edit(foo)
或
fix(foo)
我可以更改该功能并仅为此会话保存。如何永久更改,即它们保存在源文件中?到目前为止,我正在搜索源文件,编辑它然后资源,有时可能很烦人。我在Matlab中看到过,“编辑(函数)”将更改保存在函数的源文件中。
感谢
答案 0 :(得分:3)
我认为这取决于您运行R的GUI(以及操作系统)。就个人而言,我对OSX中的R.app感到满意,但是有许多常见编辑器的R插件,如TextWrangler或赛特。 IIRC这些插件允许您从编辑器执行“source”命令,这样保存您的编辑也将更新R-console环境中的函数版本。
答案 1 :(得分:2)
保存功能对象会对你有用吗?如果是,请在已编辑的函数上使用save()
,然后load()
将其加载回来。 edit()
和fix()
正在使用已解析的R对象,而不是原始文件,因此再次解析它们将很困难或太痛苦
> foo <- function(x) 1:10
> writeLines("foo.txt", foo)
> writeLines(deparse(foo), "foo.txt")
> readLines("foo.txt")
[1] "function (x) " "1:10" ## not what is wanted
正如@CarlWitthoft所说,你可能最好使用R中可用的众多GUI和IDE之一.RStudio非常受欢迎且用户友好,Emacs + ESS很难被击败。