Подтвердить что ты не робот

Как найти все функции в пакете R?

Каков наилучший способ найти все функции, связанные с пакетом? В настоящее время я просматриваю пакет caTools. Если я выполняю ?caTools или ??caTools, я просто собираюсь искать функции, называемые так, но не функции в пакете. Есть ли простой способ доступа ко всем функциям в R gui? Есть ли хорошие способы поиска функций?

4b9b3361

Ответ 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

У меня есть вопрос о зеркальном отображении; по названию функции есть ли функция для поиска пакета?