別のパッケージの関数にアクセスするには、 pkgs::function
という表記を使用します。これは時々survival
パッケージからこのような問題を引き起こす:検索パスに接続せずに別のパッケージの関数を使用しますか?
data(logan,package="survival")
resp <- levels(logan$occupation)
n <- nrow(logan)
indx <- rep(1:n, length(resp))
logan2 <- data.frame(logan[indx,],
id = indx,
tocc = factor(rep(resp, each=n)))
logan2$case <- (logan2$occupation == logan2$tocc)
survival::clogit(case ~ tocc + tocc:education + survival::strata(id), logan2)
それがエラーを与える: Error in eval(expr, envir, enclos) : could not find function "coxph"
coxph
がclogit関数から内部的に呼び出される別の関数です。この状況を避けることはできますか? Hadleyのadvanced r
ベストプラクティスに従って、パッケージを検索パスに追加することは望ましくありません。つまり、library(survival)
を使用します。
パッケージを添付しないのはなぜですか?パッケージから複数の関数を使用していて、明らかに問題を引き起こしています。 –
パッケージ作成者は関数のために 'survival :: coxph'の呼び出しを1つずつ作成しました。パッケージを外部から指定するのは難しいでしょう。 –