Mam zestaw danych ankietowych i chcę wygenerować wykresy konkretnej zmiennej pogrupowane według kraju respondenta. Kod, który napisałem do generowania działek do tej pory, to:Uzyskiwanie foreach() i ggplot2, aby się dogadać
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()
}
Naprawdę dziwaczna rzecz? Mogę uruchomić isplit(), ustawić country <- nextElem(countries)
, a następnie uruchomić kod bez wysyłania linii foreach - i uzyskać ładną fabułę. Jeśli wyślę foreach, otrzymam puste pliki .png.
Z góry dziękuję za pomoc.
Zdecydowanie mogę to zrobić ze standardowymi pętlami R, ale naprawdę chciałbym lepiej zrozumieć foreach
.
Czy możesz zamieścić kilka przykładowych danych? To znacznie ułatwiłoby testowanie. –
Oczywiście. Dane szczerego do dobrego: http://drop.io/cy81s4w/asset/sample-data-rdata –
Mam nadzieję, że wykorzystanie rzeczywistych danych jest w porządku - trochę niezwykłe, ale wydaje się najbardziej wydajne. Wystarczy użyć load (file.choose()), aby wprowadzić dane do R, a następnie drony <- sample. Musisz także ustawić output.exp w folderze, w którym chcesz pokazać 19 plików .png. –