R ggplot2 introduire un léger lissage à une ligne graphique avec seulement quelques points de données

Ne sais pas si c'est une question de programmation ou pas...

Si j'ai les données ci-dessous, qui produit un épi' graphique, et j'aimerais produire un peu lissés en un à l'aide de ggplot2 comment dois-je faire plus d'élégance. L'habitude de lissage des méthodes retirer trop d'informations. Une façon que j'envisage est d'interpoler un supplément de deux points de données entre le jeu et ensuite prendre un 2 moyenne mobile de période ou de quelque chose. Cela ressemble à beaucoup de travail dur à coder manuellement donc je vais prendre une réponse qui automatise avec élégance que comme un dernier recours.

a=data.frame(year=paste('FY',2001:2012,sep='.'),values=rnorm(12))
library(ggplot2)

Comme vous pouvez le voir c'est hérissé de pointes et visuellement attrayant

ggplot(a,aes(x=year,y=values,group=1))+geom_line() 

Et cela enlève beaucoup trop d'informations à partir du graphique

ggplot(a,aes(x=year,y=values,group=1))+stat_smooth(se=F) 

Grâce

OriginalL'auteur Tahnoon Pasha | 2013-05-28