楼主: sjzeverywhere
8318 4

[问答] 如何对已有的R package包改成自己需要的 [推广有奖]

  • 0关注
  • 2粉丝

已卖:60份资源

大专生

45%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0.5997
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
465 点
帖子
54
精华
0
在线时间
31 小时
注册时间
2008-7-24
最后登录
2022-8-29

楼主
sjzeverywhere 发表于 2015-2-15 14:37:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
R安装包分为system library和user library两部分,C盘R安装目录下的library是R系统的包,user library也就是自己安装的,一般在我的文档下面的一个R文件夹里。

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

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

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


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

二维码

扫码加我 拉你入群

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

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

关键词:package Pack Age PAC Library package library system source 文件夹

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

藤椅
yangming98 发表于 2015-2-15 20:27:59
不要用source,你可以直接将该的函数赋给一个新函数就可以了

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

是这个意思吗?

报纸
gxnnhgm66 发表于 2015-2-15 22:47:16
路过,学习学习啊

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 11:08