157 votes

ggplot ne fonctionne pas s'il se trouve à l'intérieur d'une boucle for, alors qu'il fonctionne à l'extérieur.

J'utilise une fonction ggplot simple qui fonctionne bien en dehors d'une boucle mais pas à l'intérieur même si la valeur itérative n'interfère pas avec la fonction ggplot. Pourquoi en est-il ainsi ?

Voici mon code

x=1:7
y=1:7
df = data.frame(x=x,y=y)
ggplot(df,aes(x,y))+geom_point()

Cela fonctionne ! Mais si le ggplot est à l'intérieur d'une boucle for ...

for (i in 1:5) {
   ggplot(df,aes(x,y))+geom_point()
}

cela ne fonctionne plus, qu'est-ce que j'ai raté ?

270voto

juba Points 15701

Lorsque dans un for vous devez explicitement print  votre résultat ggplot objet :

for (i in 1:5) { 
    print(ggplot(df,aes(x,y))+geom_point()) 
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X