2013-03-28 5 views
68

Używam prostej funkcji ggplot, która działa dobrze poza pętlą, ale nie wewnątrz, nawet jeśli wartość iteracyjna nie zakłóca działania ggplot funkcjonować. Dlaczego tak jest?R: ggplot nie działa, jeśli znajduje się wewnątrz pętli for, chociaż działa poza nią

Oto mój kod

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

To działa! Ale jeśli ggplot jest wewnątrz pętli for ...

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

... to już nie działa! Czego mi brakuje ?

Dziękuję

+0

Co kodowanie języka to jest? –

+0

Och, przepraszam. Jest w R –

+1

To jest poza moim zasięgiem, powodzenia. –

Odpowiedz

132

Kiedy w for pętli, trzeba wyraźnie print Twój wynikające ggplot obiektu:

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

Czy mógłbyś wyjaśnić, dlaczego tak się dzieje? –

+2

@SydKerckhove Jeśli nadal jesteś zainteresowany, oto doskonały artykuł na temat ggplota: http://www.data-imaginist.com/2017/Beneath-the-canvas/ – roarkz

+0

Jak korzystać z tego z ggsave? – John