找回密码
 立即注册
查看: 6342|回复: 1

R语言不同的包有相同的函数名称如何调用?-解决方案

[复制链接]
发表于 2013-2-28 14:50:06 | 显示全部楼层 |阅读模式

不同的R语言包可能会出现相同的函数名称,比如:
base中sample()函数
AnnotationDbi中的sample()函数
如果我们加载AnnotationDbi可能会出现冲突,而且调用时也会存在问题,下面给出详细的解决方案(三种方案任选其一):

1、 在函数前面放上包的名称作为前缀
这个是推荐的解决办法,就是函数前面放两个冒号,然后前面再加上包名字以说明函数是哪个包中的。
如下:
  1. base::sample()
  2. AnnotationDbi::sample()
复制代码
2、 把载入包的时候把函数改个别名然后调用
例如:
  1. Library(base)
  2. sample1<-sample
  3. Library(AnnotationDbi)
  4. Sample2<-sample
复制代码
然后用sample1和sample2分别使用就可以了。

3、  使用一个包的时候屏蔽另一个,保证有效的只有一个
如:
  1. detach("package:AnnotationDbi")

复制代码
也许还有其他方案!

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-29 00:10 , Processed in 0.033117 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表