を私が行う場合:dplyr :: nが() "エラー:この関数は直接呼び出すことはできません" を返し
dplyr::mutate(MeanValue = mean(RSSI), ReadCount = n())
すべてが正常に動作します。 しかし、私は機能資格をしようとすると:
dplyr::mutate(MeanValue = mean(RSSI), ReadCount = dplyr::n())
を私はタイトルに記載されたエラーを取得します。
私は本当に問題はありません。私はそれを避けることができますが、なぜそれが起こるのか不思議です。私はもう別の質問(dplyr: "Error in n(): function should not be called directly")を見ましたが、私が知る限り、私が使用している唯一のライブラリはdplyrです。私は答えはとにかく示唆して何をしようとしたが、
Error in detach(package:plyr) : invalid 'name' argument and
conflicts()
で
detach(package:plyr)
結果は、n()に言及していない:私はないんだけど、私は推測する
[1] "filter" "lag" "body<-" "intersect" "kronecker" "setdiff" "setequal" "union"
, most of which is cause by dplyr.
をこれだけ混乱しているのは1つだけ?
function() {
stop("This function should not be called directly")
}
完全修飾形式は、このエラーが発生理由です:関数は常にエラーを返します
新しいセッションでは、 '?n'の例が私に役立ちます。 –
dplyrの 'n'は内部関数にマップされているようですが(https://github.com/hadley/dplyr/blob/master/src/dplyr.cpp#L445)、' dplyr :: n'はできません等しく扱われ、-error -R関数を呼び出すだけです。 –
はい、 'n'はR関数ではなく、それを解釈する方法を知っているC関数に渡される' summarize'、 'mutate'などの引数と考えるのがよいでしょう。 –