私はRで例を実行していますが、このコードを除いてエラーが発生することを除いて、すべてのステップを経てすべてが機能しています:
words <- dtm %>%
as.matrix %>%
colnames %>%
(function(x) x[nchar(x) < 20])
エラー:関数 "%>%"が見つかりませんでした
この特殊な演算子%>%
を使用する利点が何であるかはわかりません。フィードバックはすばらしいでしょう。
最初に関数を定義するパッケージ(magrittr
またはdplyr
など)をロードする必要があります。その後、機能するはずです。
install.packages("magrittr") # package installations are only needed the first time you use it
install.packages("dplyr") # alternative installation of the %>%
library(magrittr) # needs to be run every time you start R and want to use %>%
library(dplyr) # alternatively, this also loads %>%
パイプ演算子%>%
が "開発時間を短縮し、コードの可読性と保守性を改善するために導入されました。"
しかし、それが本当に彼のワークフローに適合し、物事を容易にするかどうかは誰もが自分で決める必要があります。 magrittr
の詳細については、 here をクリックしてください。
パイプ%>%
を使用しない場合、このコードはコードと同じ結果を返します:
words <- colnames(as.matrix(dtm))
words <- words[nchar(words) < 20]
words
EDIT:(非常に便利なため、答えを拡張しています@Molxによって作成されたコメント)
magrittr
からのものであるにもかかわらず、パイプ演算子はパッケージdplyr
(magrittr
を必要とし、ロードする)でより一般的に使用されるので、%>%
代わりにdplyr
をロードすべきではありません。
Windows:%dopar%ループ内で%>%を使用する場合、ロードパッケージdplyr
(またはmagrittr
、ロードするdplyr
)への参照を追加する必要があります。
例:
plots <- foreach(myInput=iterators::iter(plotCount), .packages=c("RODBC", "dplyr")) %dopar%
{
return(getPlot(myInput))
}
.packages
コマンドを省略し、代わりに%do%
を使用して、すべてを単一のプロセスで実行する場合、正常に動作します。その理由は、すべてが1つのプロセスで実行されるため、新しいパッケージを特別にロードする必要がないためです。