Я пытаюсь работать с исходным кодом для sjmisc::count_na
.Я не очень опытен в копании исходного кода, поэтому я использовал этот поток в качестве руководства, но я все еще застреваю.Я надеюсь, что это не дубликат.
В RStudio я могу нажать F2 на count_na
, чтобы получить его источник, но похоже, что некоторая работа выполняется в функции под названием 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
, а затем я могу посмотреть исходный код методов, специфичных для класса.Для некоторых функций я смог сделать это с помощью выпадающего меню внутри RStudio после использования F2, но здесь такого меню нет.Я также попробовал:
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
?