我運行中的R爲例,通過步驟去和一切工作,到目前爲止,除了此代碼產生一個錯誤:錯誤:無法找到函數「%>%」
words <- dtm %>%
as.matrix %>%
colnames %>%
(function(x) x[nchar(x) < 20])
Error: could not find function "%>%"
我不明白使用這個特殊運營商的好處是什麼,並且任何反饋都會很好。
我運行中的R爲例,通過步驟去和一切工作,到目前爲止,除了此代碼產生一個錯誤:錯誤:無法找到函數「%>%」
words <- dtm %>%
as.matrix %>%
colnames %>%
(function(x) x[nchar(x) < 20])
Error: could not find function "%>%"
我不明白使用這個特殊運營商的好處是什麼,並且任何反饋都會很好。
您需要首先安裝包magrittr
,然後它應該工作。
install.packages("magrittr")
library(magrittr)
運營商%>%
被介紹給管「縮短開發時間,並提高可讀性和代碼的可維護性。」
但是每個人都必須自己決定它是否真的適合他的工作流程並讓事情更輕鬆。 欲瞭解更多有關magrittr
的信息,請點擊here。
不使用管道%>%
,該代碼將返回相同的代碼:
words <- colnames(as.matrix(dtm))
words <- words[nchar(words) < 20]
words
編輯: (我伸出,因爲一個非常有用的評論我的回答那是由@Molx製作的)
Despite being from
magrittr
, the pipe operator is more commonly used with the packagedplyr
(which requires and loadsmagrittr
), so whenever you see someone using%>%
make sure you shouldn't loaddplyr
instead.
在Windows上:如果您在%dopar%循環中使用%>%,則必須添加對加載包dplyr
(或magrittr
,其中dplyr
加載)的引用。
例子:
plots <- foreach(myInput=iterators::iter(plotCount), .packages=c("RODBC", "dplyr")) %dopar%
{
return(getPlot(myInput))
}
如果省略.packages
命令,並使用%do%
,而不是讓它在一個單一的過程都跑,然後正常工作。原因是它都在一個進程中運行,所以它不需要專門加載新的軟件包。
這是一個很好的觀點,值得特別關注foreach。過去我遇到過這個問題,這與接受答案解決的問題是不同的問題。 –
我不確定這是否也是突出顯示這一點的正確場所,但我建議並基於迭代器包進行編輯,這樣可以簡化foreach循環。如果這不合適,請隨時忽略。 –
謝謝。救了我。我不知道我需要在'foreach'中聲明依賴關係。 –
相關:http://stackoverflow.com/questions/27125672/what-does-function-mean-in-r – LJW