我正在尝试研究sjmisc::count_na
的源代码。我在挖掘源代码方面不是很有经验,因此我一直使用this thread作为指南,但仍然遇到困难。我希望这不会重复。
在RStudio中,我可以按count_na
上的F2来获取其来源,但是看起来有些工作是在名为get_label
的函数中完成的。该功能的源代码很简单
function (x, ..., def.value = NULL, case = NULL)
{
UseMethod("get_label")
}
上面的线程建议尝试使用methods()
或getAnywhere
library(sjmisc)
methods("get_label")
#> Error in .S3methods(generic.function, class, parent.frame()): no function 'get_label' is visible
getAnywhere("get_label")
#> A single object matching 'get_label' was found
#> It was found in the following places
#> namespace:sjlabelled
#> with value
#>
#> function (x, ..., def.value = NULL, case = NULL)
#> {
#> UseMethod("get_label")
#> }
#> <bytecode: 0x000000001a7522c0>
#> <environment: namespace:sjlabelled>
这清楚表明get_label()
是sjlabelled
命名空间中的函数。我不确定如何继续查找其源代码。基于上面的线程,我了解到我首先需要弄清楚为get_label
编写了哪些类,然后才能查看特定于类的方法的源代码。对于某些功能,使用F2之后,我已经可以使用RStudio中的下拉菜单来执行此操作,但是这里没有可用的此类菜单。我也尝试过:
methods("sjlabelled::get_label")
#> Error in .S3methods(generic.function, class, parent.frame()): no function 'sjlabelled::get_label' is visible
methods("sjlabelled:::get_label")
#> Error in .S3methods(generic.function, class, parent.frame()): no function 'sjlabelled:::get_label' is visible
showMethods("sjlabelled::get_label")
#>
#> Function "sjlabelled::get_label":
#> <not an S4 generic function>
这是怎么回事?找到get_label
源代码需要做什么?
答案 0 :(得分:2)
尝试以下操作:您可以在a.js
import b from './b.js'
export default {
a: b
}
b.js
import a from './a.js'
export default {
b: a
}
中将class参数更改为首选参数。在getS3method("get_label","data.frame")
methods("get_label")