2015-03-13 19 views
6

utilizzando i seguenti dati:Meno linee smussate in ggplot2, alternative a geom_smooth?

> str(attribute) 
'data.frame': 431 obs. of 2 variables: 
$ pos: int 1 2 3 4 5 6 7 8 9 10 ... 
$ att: num 0.652 0.733 0.815 1.079 0.885 ... *[between 0 and 3] 

e:

ggplot(attribute, aes(x=pos, y=att)) + geom_line() + geom_smooth() 

ho fatto: enter image description here

Vorrei lisciare progressivamente la curva nera, non "tanto quanto" geom_smooth predefinita fatto. Ho provato le opzioni n, level, ma non ho fatto quello che volevo. Quale sarebbe il modo migliore per aumentare progressivamente il livellamento? (ad esempio, 2 valori medi in uno, quindi prova 3 in uno e così via). Immagino sia qualcosa di veramente facile o realizzabile senza usare geom_smooth, ma non so cosa cercare/cercare. Grazie.

risposta

7

Questo è documentato in stat_smooth. L'omogeneo predefinito è loess e gli vengono inoltrati ulteriori argomenti, come specificato per la descrizione dell'argomento .... Quindi, ciò che si vuole è span:

ggplot(mtcars,aes(x = wt,y = mpg)) + 
    geom_point() + 
    geom_smooth(span = 0.4) 

Inoltre, loess accetta un argomento degree per un maggiore controllo sulla quantità di levigatura.