R语言_包的查找

Source

 往往我们在直接摘抄其他代码的时候会遇到:函数对应的包未引用,继而导致系统提示"找不到对应函数"的情况。我们知道要library("相应的packages”),但是是哪个packages呢?本文就是解决类似的问题。

> SieRet100 <- tail(sort(abs(series(SieRet))),100)[1]
Error in series(SieRet) : could not find function "series"

方法一:help.search()

可以查到别名、概念、标题等与我们想要查找的内容匹配的vignettes、demos、help files.

方法二:使用utiles包

library(utiles)
RSiteSearch("...")

方法二:使用sos包

library(sos)
PL <- findFN("...")     ###???是该函数的简单表达方式,返回的PL是data.frame类型。
???series  ###???函数名 的格式进行搜索

使用???查询后返回的结果是两个table格式的链接,第一个是PackageSum2(提供了具有匹配项目的包的相关摘要),第二个是findFN表,具体罗列了相关包中可能满足要求的函数。

PackageSum2,见图一。

findFN返回的data frame包含的列名有Count、Maxscore、TotalScore、Package、Function、Date、Score、Description and Link,见图二。

Maxscore、TotalScore是排序的参考因素,Score是最后的总得分按照这个排序呈现出来的。

Function

是指帮助页面的名称,而非函数名称。

多个函数是可能记录在单个帮助页面的,因为其他的帮助页面还会包括其他可能的类型的结果,例如数据集。

Package 是包含Function的包的名称
Count 提供findFN提供的所有可能的包下匹配的项目总数
Maxscore 最大分数
Totalscore 总分数
Date 包龄

 

 

参考文献: sos.pdf