[r] 오류 : “%> %”함수를 찾을 수 없습니다.

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보려면 여기를 클릭 하십시오 .

pipe를 사용하지 않으면 %>%이 코드는 코드와 동일한 결과를 반환합니다.

words <- colnames(as.matrix(dtm))
words <- words[nchar(words) < 20]
words

편집 :
(@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%대신 사용 하여 단일 프로세스에서 모두 실행하면 정상적으로 작동합니다. 그 이유는 모든 것이 하나의 프로세스에서 실행되므로 특별히 새 패키지를로드 할 필요가 없기 때문입니다.


답변

다음을 사용할 수 있습니다.

 install.packages("data.table")
 library(data.table)


답변

장점은 이전 함수의 출력이 사용된다는 것입니다. 예를 들어 데이터 소스의 출처를 반복 할 필요가 없습니다.


답변