No.10964 エクセルへの曲線の追加  【たまき】 2009/09/30(Wed) 18:25

生態学のデータを扱っており,年齢と体長をプロットした散布図に推定した成長曲線を追加したいと考えております.
基本的すぎる質問で申し訳ありませんが,ご助言いただければ幸いです.
よろしくお願いします.

No.10965 Re: エクセルへの曲線の追加  【青木繁伸】 2009/09/30(Wed) 19:11

推定値を計算する列を作って,まず年齢と体長をプロットした後,グラフを選択(クリック)し,メニューバーが変わ るので,「グラフ」の「データの追加」で推定値の範囲を選択する。この時点では推定値が点で表示されるかも知れないが,表示された点(どれでもよいから一 つ)をクリックして,点を描くかとか線で結ぶかとか設定する。
推定値がギザギザなのでなめらかにするためには年齢の列を例えば 0.1 刻みにしてやればよい(体長の実測値は年齢が整数の箇所のみに記入,推定値はすべてについて計算)。
まあ,かなり面倒な作業で添付のようなものができるわけですが,R だと簡単ですよ。
図は,クリックすると原寸大に拡大表示されます


No.10966 Re: エクセルへの曲線の追加  【たまき】 2009/09/30(Wed) 20:48

ご助言いただきありがとうございます.
統計学とは直接関係しない内容の質問をしてしまい,失礼しました.

Rだとすぐにできるものなのでしょうか?
お恥ずかしながら,Rをまだ使いこなせていないので…まずはエクセルでやってみようと思います.

No.10967 Re: エクセルへの曲線の追加  【青木繁伸】 2009/09/30(Wed) 22:06

こんな風になりますよ。
> d <- data.frame(年齢=1:10, 体長=c(1,2,4,7,11,18,25,27,28,30)) # データ
> ans <- nls(体長~a/(1+b*exp(-c*年齢)), data=d, start=list(a=30, b=1, c=1)) # あてはめ
> summary(ans) # 結果の表示

Formula: 体長 ~ a/(1 + b * exp(-c * 年齢))

Parameters:
Estimate Std. Error t value Pr(>|t|)
a 30.45816 0.77788 39.155 1.85e-09 *** # パラメータの推定値
b 96.91161 28.87651 3.356 0.0121 *
c 0.83047 0.06146 13.512 2.86e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.817 on 7 degrees of freedom

Number of iterations to convergence: 13
Achieved convergence tolerance: 3.788e-06

> x2 <- seq(0, 11, by=0.05) # 当てはめ結果の表示の準備
> d2 <- data.frame(年齢=x2)
> y2 <- predict(ans, newdata=d2) # 推定値
> plot(体長~年齢, data=d, pch=19) # 観察値の表示
> lines(y2~x2, data=d2, col="red") # 推定値の表示


No.10981 Re: エクセルへの曲線の追加  【たまき】 2009/10/01(Thu) 22:21

詳しく教えていただき,ありがとうございます.参考にさせていただきます.
Rの方が速いですし,見栄えもいいですね.
早く使いこなせるようになりたいものです...

話は変わってしまうのですが,複数の個体群における体サイズなどの特性と環境要因の関係性について解析したいと考えているのですが,このような解析もRでできますか?
ご教授いただければ幸いです.よろしくお願いします.

No.10982 Re: エクセルへの曲線の追加  【雁が音】 2009/10/01(Thu) 22:31

> 複数の個体群における体サイズなどの特性と環境要因の関係性について解析したいと考えているのですが,このような解析もRでできますか?

そのような解析のための統計手法があれば,それは R にも用意されている可能性が高いでしょう。
もし,用意されていないときには自分で解析のためのプログラムを書けばよいということですね。
プログラミング機能があるので,どんなことでもできるという潜在能力があります。
問題は,じっさいにある個人が,そのようなプログラムを書くことができるかどうかということにつきますね。

● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る