Henrik Bengtsson为互联网提供了一种在R中创建S3泛型的好方法,而不必担心它们是否在2002年之前创建过.
他的函数setGenericsS3的作用基本上是:
如果是这样,
如果没有,只需创建通用.
事实证明,当您自己的软件包中没有可用的代码时,自动创建泛型非常有用.当我们走过这个R时代时,我想知道现在在R中实现相同的正确方法是什么.我isS3Generic()在R中找不到或类似的函数,Henrik Bengtsson的代码源自R 2.14中引入的强制命名空间.我记得我已经看到了实现同样目标的其他方法,但找不到它们.
编辑:我特意找S3.该功能isGeneric()仅适用于S4,例如anova(用于S3通用):
> isGeneric('anova')
[1] FALSE
> anova
function (object, ...)
UseMethod("anova")
<bytecode: 0x04dc7a18>
<environment: namespace:stats>
Run Code Online (Sandbox Code Playgroud)
您可以使用isGenericS3该R.methodsS3包的功能。请看下面的代码:
library(R.methodsS3)
isGenericS3(anova)
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |