J'ai un ensemble de données d'enquête, et je voudrais générer des graphiques d'une variable particulière, regroupés par pays du répondant. Le code que j'ai écrit pour générer les graphiques est le suivant:Obtenir foreach() et ggplot2 pour s'entendre
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()
}
La chose vraiment bizarre? Je peux exécuter le isplit(), mettre country <- nextElem(countries)
, puis exécuter le code sans envoyer la ligne foreach - et obtenir un joli complot. Si j'envoie le foreach, j'obtiens des fichiers .png vierges.
Merci d'avance pour votre aide.
Je peux certainement le faire avec des boucles R standard, mais j'aimerais vraiment avoir une meilleure compréhension de foreach
.
Pourriez-vous envoyer des échantillons de données? Cela rendrait le test beaucoup plus facile. –
Bien sûr. Les données honnête-à-bonté: http://drop.io/cy81s4w/asset/sample-data-rdata –
J'espère que l'utilisation des données réelles est correct - un peu inhabituel, mais il semble le plus efficace. Utilisez simplement load (file.choose()) pour entrer ces données dans R, puis drones <- sample. Vous devrez également définir output.exp dans un dossier où vous souhaitez afficher 19 fichiers .png. –