5

私は R の初心者で、(たとえば) 以下のようなデータ セットに曲線を当てはめようとしています。

(x- value)  (y-value)
105 423
115 471
125 567
135 808
145 921.5
155 1040

x 値は刺激の量を表し、y 値は運動反応 (uV) を表します。これらは 10 人の被験者の平均であり、x 値は各被験者で同じです。

このデータセットは通常シグモイドフィットに従うと言われました。私は次のようにそれをフィッティングしようとしました:

fit <- lm( y ~ poly(x, 3) )

しかし、これがこれを行う適切な方法であるかどうかはわかりません:(

私のコードはこれまでのところ次のようになります。

p <- ggplot (data, aes(x, y)) +
  geom_point(shape= 21, fill= "blue", colour= "black", size=2) +
  xlab("X value") + ylab("Y value") +
  geom_smooth(method= "lm", se= FALSE,  colour= "red", formula=y ~ poly(x, 3, raw=TRUE)) +
  geom_errorbar(aes(ymin=y-SE, ymax=y+SE), width=.9)+ 
  ggtitle ("Title")
p

さらに:曲線にフィットしたら、勾配も取得したいと思います(曲線の最も急な点での接線の値として計算されます)

事前に感謝します。どんな助けでも大歓迎です!

4

1 に答える 1

2

poly() 関数がどのように機能するかはわかりませんが、3 次多項式の適合が必要な場合は、次のようにします。

   lm1=lm(y~I(x^3)+I(x^2)+x)

これは、上記のおもちゃのデータにかなり適合します。変曲点での勾配。2 次導関数をゼロに設定し、x について解きます。次に、その x で最初の導関数を計算します。

しかし、ロジスティックな成長モデルを好むと思います。

于 2013-10-24T22:25:44.303 に答える