全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
8251 4
2015-02-15
R安装包分为system library和user library两部分,C盘R安装目录下的library是R系统的包,user library也就是自己安装的,一般在我的文档下面的一个R文件夹里。

现在问题来了,我用到一个包,后来看这个包的源文件,其中一个源文件呢我想改进一下,原来那个程序并不是我想要的结果,但这个包比较复杂,涉及其他60个源文件,现在我想用他的包的一些函数,又想改进其中一个,所以目前问题解决两种途径:
(1)上“xuruilong100”说的所谓笨办法,即直接使用源文件,而不是package,但这样的话我要source很多函数,接近60个。有没有办法一次性把一个文件夹的函数全部source进去?一个个source太麻烦了。

(2)第二种方法是否可行还请大家帮忙,就是想把安装的这个package包的其中这一个比较特殊的函数改一下?有没有这种可能呢?现在是找不到这个函数啊,是不是是另外一种格式了?能否修改?

第一种方法,我还担心运行速度的问题,如果直接源文件上运行,会不会影响计算速度?因为是蒙特卡罗仿真,速度也很重要的。


还有一种方法,我把原来这个包加载,然后呢把这个特定的改写后的函数也source进来,这样是否会把原来那个包里的同名函数给覆盖掉呢?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-2-15 15:03:05
第三种方法貌似比较复杂啊,只是该写那个特定的函数不行啊,还必须同时source进来调用这个函数的前一个程序代码,一次类推,直到顶层。比如程序之间的调用关系为A call B, B call C, C call D,如果我想调用改写后的D,只是source进来改写后的D是没用的,必须把A,B,C也source进来,这样才可以的。具体什么原因不懂,但这样比较麻烦了,关键是不可靠,还是不折腾了,改用第一种方案吧,麻烦点,但放心。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-15 20:27:59
不要用source,你可以直接将该的函数赋给一个新函数就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-15 22:10:51
yangming98 发表于 2015-2-15 20:27
不要用source,你可以直接将该的函数赋给一个新函数就可以了
不是很懂啊?将改的函数D赋给一个新的函数F,然后在上一级C里调用这个F函数?那我岂不是还要再去修改这个C函数?

是这个意思吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-15 22:47:16
路过,学习学习啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群