重複の可能性:
関数の名前空間をどのように決定しますか?
これを行う方法がわかりません...Rで特定の関数のパッケージ名をどのように知っていますか? 関数の名前を指定して、それを所有するパッケージの名前を返す関数が必要です。なにか提案を?
重複の可能性:
関数の名前空間をどのように決定しますか?
これを行う方法がわかりません...Rで特定の関数のパッケージ名をどのように知っていますか? 関数の名前を指定して、それを所有するパッケージの名前を返す関数が必要です。なにか提案を?
より良い解決策があるかもしれませんが、find("functionname")
かなりうまくいくようですか? ただし、ロードされたパッケージに対してのみ機能します。
> find("strwidth")
[1] "package:graphics"
> find("qplot")
character(0)
> library(ggplot2)
> find("qplot")
[1] "package:ggplot2"
>
(使用できるパッケージの生の名前が必要な場合gsub("^package:","",results)
)
(Andrie によってリンクされた前の質問への回答には、この回答が含まれています。それらは については少し触れておらず、gsub
ロードされていないパッケージが見つからないという問題をすべて共有しているようです。)
ロードされていないパッケージでも関数を見つけるための簡単なハックを次に示します。
findAllFun <- function(f) {
h <- help.search(paste0("^",f,"$"),agrep=FALSE)
h$matches[,"Package"]
}
findAllFun("qplot")
## "ggplot2"
findAllFun("lambertW")
## "emdbook" "VGAM"
> findAllFun("xYplot")
## "Hmisc" "lattice"
インストールされていないパッケージの関数を見つける必要がある場合(つまり、CRAN を検索する場合)、パッケージfindFn
からsos
が友達になります。