2016-10-10 18 views
0

私は時間の経過と共に指数関数的に減少するように私のプロットに曲線を追加したいと考えています。 Iveは、基本的なplot()関数を使って2つの小さなデータセットをプロットしました。わかりやすくするために、平滑化された線を追加したいと思いました。 2つのデータセットのデータポイントは、経時的減衰を示すx値とプロットに指数曲線を追加

1.00000 0.37360 0.27688 0.22992 0.17512 0.13768 0.08048 
1.00000000 0.44283122 0.30871143 0.23647913 0.22586207 0.09800363 0.06206897 

ある(0,1,2,3,4,5,6)

plot

+1

あなたが指数関数的に減衰して特定のモデルに合うか、単にノンパラメトリック平滑化ラインにフィットするようにしたいですか?前者の場合は、データをログに記録し、 'lm'を使用します。後者については' loess'を試してください。 – Gregor

+0

指数関数的減衰を示す特定のモデルは理想的でしょう – Will

+0

モデルに合いたい場合は、 'nlme'パッケージの' nls'を参照してください。 –

答えて

0

I Ggplot2を使いたいのは、あたかも適合モデルからのラインを簡単に追加することです。ずっとになし

はあなたを助けることがあり、次に行く....

#prepare the data 
y <- c(1.00000, 0.37360, 0.27688, 0.22992, 0.17512, 0.13768, 0.08048, 
    1.00000000, 0.44283122, 0.30871143, 0.23647913, 0.22586207, 0.09800363, 0.06206897) 
x <- c(0,1,2,3,4,5,6,0,1,2,3,4,5,6) 
z <- c(1,1,1,1,1,1,1,0,0,0,0,0,0,0) 


dat <- as.data.frame(cbind(x,y,z)) 

#load the library 
library(ggplot2) 

#plot the data 
ggplot(data=dat,aes(x=x,y=y))+ 

#add Points with different shapes depending on factor z 
geom_point(aes(shape=factor(z)))+ 

#Add line using non-linear regreassion 
stat_smooth(method="nls",formula = y~a*exp(-x*b),method.args=list(start=c(a=2,b=2)),se=F,color="red")+ 

#add line using linear regression 
stat_smooth(method="lm",formula = y~exp(-x),se=F,color="blue") 
+0

それは完璧に機能しました!おかげさまでミッキー。私は間違いなく今ggplotを使い始めるでしょう! – Will

+0

私はそれが助けてうれしい! – Micky

関連する問題