2012-03-07 32 views
0

您建議的命令在某種程度上起到了一定的作用但是我仍然在尋找一個命令/函數來給出更平滑的曲線。我在下面給出了一個可重複的代碼,該代碼繪製的是比較尖銳的邊緣,或者更粗略一些:連接點的線條太尖銳,特別是從一點到另一點的時刻。對於非技術性語言對不起,因爲我仍然不熟悉該領域。感謝您提供有關此問題的幫助。請在下面的代碼中建議修改以獲得更平滑的曲線。爲極小量級的數據繪製平滑線

xdata1<-c(6:11) 
ydata1<-c(-0.75132894, -1.71909555, -0.62653171, 0.49512191, 0.29201836, 0.31094460) 
plot(NULL,NULL,xlim=xlims,ylim=ylims,axes=FALSE, ann=FALSE) 
axis(1,cex.axis=0.7,mgp=c(3, .3, 0)) 
axis(2, las=1,cex.axis=0.7,at=c(-2,-1,0,1,2), mgp=c(3, .7, 0)) 
mtext(side = 1, text =expression('Year'), line = 1,font=15) 
mtext(side = 2, text = expression('Variable'), line = 1.5,font=15) 
lines(smooth.spline(xdata1,ydata1, df=5), col='red',type="l", pch=22, lty=1, lwd=1) 
#######更新查詢完成這裏

我暗算1.時間步長非常小幅度的數據請參考下面的示例數據:

xdata<-c(1:48) 
ydata<- c(0.325563413,0.401913414,0.221939845,0.19881055, 
     -0.05918293,-1.108143815,-0.220563332,-0.148715078, 
     -0.14998762,0.131610695,0.249923598,0.246891873, 
      0.656812019,0.524436114,0.23875397,0.200695075, 
     -0.015974087,-0.611863249,0.121994831,-0.143103421, 
     -0.142109609,0.101451935,0.160242421,0.232404601, 
      0.348305745,0.231109382,0.334988321,0.263046902,-0.058154333, 
     -1.032276818,-0.352068888,-0.13082767,-0.134611511,0.116967421, 
      0.268706409,0.232776855,0.39515544,0.540317537,0.424281195, 
      0.3061158,-0.210735495,0.023705618,0.473338271,0.270527033, 
     -0.165394174,0.268773501,0.202437269,0.305577906) 

請幫助我繪製了一條平滑的線條,沒有突出顯示數據的各個點。

由於提前,

回答

5

不知道什麼是 「不突出個性點」 的意思,但在這裏是一個方式來獲得流暢的線條:

plot(xdata,ydata) 
lines(smooth.spline(xdata,ydata, df=10), col = "red") 

另請參見:?loess.smoothapropos("smooth")。搜索 「[R]光滑情節」 的認定How to fit a smooth curve to my data in R? ...

enter image description here

0

指定類型的情節只會給你行「L」。

plot(xdata, ydata, type = "l") 
+0

嗨,尋求幫助的感謝。請參閱最新的查詢,並請和我一樣幫助我 – Aaron 2012-03-07 19:59:55

+0

你能解釋Ben的帖子出了什麼問題嗎? – Dason 2012-03-07 20:50:42

+0

嗨,沒有什麼是錯的,但我擁有的數據是給我直線,我想從中創建連接點的曲線。請參閱我發佈的示例數據和可重複的代碼。 – Aaron 2012-03-07 21:59:28