7
我有一些.rdata文件,其中包含由approxfun()定义的已保存函数。修改现有函数对象的正文文本
一些保存文件前从最新包“基地” approxfun为“统计”的变化,所以身体有
PACKAGE = "base"
和错误的包会导致功能失效。我可以修复(myfun),只需将“base”替换为“stats”,但我想要一个整洁的自动方式。
我可以用gsub()和body()以某种方式做到这一点吗?
我能得到身体的文本和替代那里
as.character(body(myfun))
,但我不知道如何把这一回“呼叫”并替换定义。
(我知道一个更好的解决方案是保存最初由approxfun,只需重新创建函数的数据,但我不知道是否有修改现有的一个明智的方式。)
编辑:我发现在这里
What ways are there to edit a function in R?
可能重复http://stackoverflow.com/questions/2458013/what-ways-are-to-edit-a-function-in-r) – 2014-05-11 19:09:27
我试过'body(foo)< - gsub(“PACKAGE ='base'”,“PACKAGE ='stats'” ,body(foo))',但body()不会返回文本,因此您不能使用文本操作来更改它。我通过@MrFlick – 2014-08-05 15:44:51
验证了这一点,然后你可以自己写答案,以便这篇文章不再是“未答复”的? – 2014-09-05 07:57:20