在 R 中使用名称中带有星号的方法访问函数代码
Accessing codes for functions using methods with asterisk in its name in R
我在 R 中使用 randomForest
包。我已经安装并加载了。现在我想看看 randomForest()
函数,它说它使用名为 `randomForest 的方法。我已经实现了以下代码:
installed.packages("randomForest")
library(randomForest)
randomForest
# function (x, ...)
# UseMethod("randomForest")
# <environment: namespace:randomForest>
methods(randomForest)
# [1] randomForest.default* randomForest.formula*
# see '?methods' for accessing help and source code
randomForest.default
# Error: object 'randomForest.default' not found
summary()
函数示例,
summary
# function (object, ...)
# UseMethod("summary")
# <bytecode: 0x00000000173508c0>
# <environment: namespace:base>
methods(summary)
# [1] summary,ANY-method summary,diagonalMatrix-method summary,mle-method
# [4] summary,sparseMatrix-method summary.Anova.mlm* summary.aov
# [7] summary.aovlist* summary.aspell* summary.bag*
summary.bag*
+
summary.bag
# Error: object 'summary.bag' not found
正如您在上面看到的,很少有方法名称中有星号,其余的都没有。所以我可以通过在控制台上输入方法的名称来访问不带星号的方法的代码。
如何访问使用名称中带有星号 *
的方法的函数的代码,它表示什么。
非常感谢任何帮助。
谢谢。
以星号结尾的函数不会在命名空间中导出。它们是供内部使用的 S3 方法或函数。您仍然可以使用 getAnywhere(randomForest.default)
或 randomForest:::randomForest.default
直接调用它们
我在 R 中使用 randomForest
包。我已经安装并加载了。现在我想看看 randomForest()
函数,它说它使用名为 `randomForest 的方法。我已经实现了以下代码:
installed.packages("randomForest")
library(randomForest)
randomForest
# function (x, ...)
# UseMethod("randomForest")
# <environment: namespace:randomForest>
methods(randomForest)
# [1] randomForest.default* randomForest.formula*
# see '?methods' for accessing help and source code
randomForest.default
# Error: object 'randomForest.default' not found
summary()
函数示例,
summary
# function (object, ...)
# UseMethod("summary")
# <bytecode: 0x00000000173508c0>
# <environment: namespace:base>
methods(summary)
# [1] summary,ANY-method summary,diagonalMatrix-method summary,mle-method
# [4] summary,sparseMatrix-method summary.Anova.mlm* summary.aov
# [7] summary.aovlist* summary.aspell* summary.bag*
summary.bag*
+
summary.bag
# Error: object 'summary.bag' not found
正如您在上面看到的,很少有方法名称中有星号,其余的都没有。所以我可以通过在控制台上输入方法的名称来访问不带星号的方法的代码。
如何访问使用名称中带有星号 *
的方法的函数的代码,它表示什么。
非常感谢任何帮助。 谢谢。
以星号结尾的函数不会在命名空间中导出。它们是供内部使用的 S3 方法或函数。您仍然可以使用 getAnywhere(randomForest.default)
或 randomForest:::randomForest.default