Каков наилучший способ найти все функции, связанные с пакетом? В настоящее время я просматриваю пакет caTools. Если я выполняю ?caTools
или ??caTools
, я просто собираюсь искать функции, называемые так, но не функции в пакете. Есть ли простой способ доступа ко всем функциям в R gui? Есть ли хорошие способы поиска функций?
Как найти все функции в пакете R?
Ответ 1
Я предполагаю, что вы просто ищете help(package = caTools)
, который откроет ваш браузер на соответствующей странице справки, в которой перечислены все функции в пакете caTools.
Вы также можете попробовать: library(help = caTools)
, но это, кажется, не захватывает все. Самое приятное в этом последнем подходе заключается в том, что вы можете захватить вывод в случае, если вам нужно ссылаться на него где-то еще:
x <- library(help = caTools)
x$info[[2]]
# [1] "LogitBoost LogitBoost Classification Algorithm"
# [2] "base64encode Convert R vectors to/from the Base64 format"
# [3] "caTools-package Tools: moving window statistics, GIF, Base64,"
# [4] " ROC AUC, etc."
# [5] "colAUC Column-wise Area Under ROC Curve (AUC)"
# [6] "combs All Combinations of k Elements from Vector v"
# [7] "predict.LogitBoost Prediction Based on LogitBoost Classification"
# [8] " Algorithm"
# [9] "read.ENVI Read and Write Binary Data in ENVI Format"
# [10] "read.gif Read and Write Images in GIF format"
# [11] "runmad Median Absolute Deviation of Moving Windows"
# [12] "runmean Mean of a Moving Window"
# [13] "runmin Minimum and Maximum of Moving Windows"
# [14] "runquantile Quantile of Moving Window"
# [15] "runsd Standard Deviation of Moving Windows"
# [16] "sample.split Split Data into Test and Train Set"
# [17] "sumexact Basic Sum Operations without Round-off Errors"
# [18] "trapz Trapezoid Rule Numerical Integration"
Ответ 2
Вы можете получить все объекты в своем пакете с помощью:
ls("package:caTools")
Вы можете получить все сигнатуры функций в своем пакете с помощью:
lsf.str("package:caTools")
Ответ 3
Если вы хотите, чтобы все экспортируемые функции (то есть функции, доступные через ::
), то getNamespaceExports(pkgName)
сделает свое дело.
Если вам нужны все функции в пакете, включая те, которые доступны через :::
, вы можете сделать ls(getNamespace(pkgName))
.
Например, с пакетом stringr
:
getNamespaceExports("stringr")
[1] "fixed" "ignore.case" "invert_match" "perl" "str_c" "str_count" "str_detect" "str_dup" "str_extract"
[10] "str_extract_all" "str_join" "str_length" "str_locate" "str_locate_all" "str_match" "str_match_all" "str_pad" "str_replace"
[19] "str_replace_all" "str_split" "str_split_fixed" "str_sub" "str_sub<-" "str_trim" "str_wrap" "word"
Однако мы знаем, что stringr:::is.perl
существует в пакете, и, как вы можете видеть:
setdiff(ls(getNamespace("stringr")), getNamespaceExports("stringr"))
[1] "case.ignored" "check_pattern" "check_string" "compact" "is.fixed" "is.perl" "match_to_matrix" "re_call" "recyclable"
[10] "re_mapply"
Итак, мы видим, что ls(getNamespace("stringr"))
содержит все функции getNamespaceExports("stringr")
в дополнение к функциям :::
.
Ответ 4
Пакет pacman
(CRAN) (версия для разработчиков: GitHub) хорошо подходит для этого. В частности, функция p_funs
.
Синтаксис:
p_funs(caTools) # exported
p_funs(caTools, TRUE) # includes non-exported
Ответ 5
Другой способ - использовать пакет collidr
library(collidr)
library(dplyr)
collidr::packages_and_functions_dataframe %>% filter(package_names == "caTools")
# package_names function_names
# 1 caTools caTools-package
# 2 caTools base64encode
# 3 caTools base64decode
# 4 caTools colAUC
# 5 caTools combs
# 6 caTools LogitBoost
# 7 caTools predict.LogitBoost
# 8 caTools read.ENVI
# 9 caTools write.ENVI
# 10 caTools read.gif
# 11 caTools write.gif
# 12 caTools runmad
# 13 caTools runmean
# 14 caTools runmin
# 15 caTools runmax
# 16 caTools runquantile
# 17 caTools runsd
# 18 caTools sample.split
# 19 caTools sumexact,
# 20 caTools cumsumexact
# 21 caTools trapz
Ответ 6
У меня есть вопрос о зеркальном отображении; по названию функции есть ли функция для поиска пакета?