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)
답변
장점은 이전 함수의 출력이 사용된다는 것입니다. 예를 들어 데이터 소스의 출처를 반복 할 필요가 없습니다.