oreach () 및 ggplot2를 얻을 수 있습니다
문제
설문 조사 데이터 세트가 있으며 응답자의 국가별로 그룹화 된 특정 변수의 플롯을 생성하고 싶습니다. 지금까지 플롯을 생성하기 위해 작성한 코드는 다음과 같습니다.
countries <- isplit(drones, drones$v3)
foreach(country = countries) %dopar% {
png(file = paste(output.exp, "/Histogram of Job Satisfaction in ", country$key[[1]], ".png", sep = ""))
country.df <- data.frame(country) #ggplot2 doesn't appreciate the lists nextElem() produces
ggplot(country.df, aes(x = value.v51)) + geom_histogram()
dev.off()
}
정말 기괴한 것? isplit ()를 실행할 수 있습니다 country <- nextElem(countries)
, 그리고 Foreach 라인을 보내지 않고 코드를 실행하고 사랑스러운 줄거리를 얻으십시오. Foreach를 보내면 빈 .png 파일을 얻습니다.
도움을 주셔서 감사합니다.
나는 표준 R 루프로 확실히 할 수 있지만 나는 더 잘 이해하고 싶다. foreach
.
해결책
당신은 필요합니다 print
표시하려면 플롯 :
print(ggplot(country.df, aes(x = value.v51)) + geom_histogram())
기본적으로 GGPlot 명령은 플롯 객체를 반환하지만 명령 자체는 실제로 플롯을 표시하지 않습니다. 그것은 끝났습니다 print
명령. 대화식으로 코드를 실행하면 명령 결과가 인쇄되므로 종종 명시 적 인쇄가 필요하지 않습니다. 그러나 a foreach
, 신체의 명령 결과가 반향되지 않으므로 명시 적으로 인쇄해야합니다.
제휴하지 않습니다 StackOverflow