No.21223 Re: データの抽出と計算 【taipapa】 2014/07/27(Sun) 12:13
a<-subset(d, g==1); mean(a[,2])
これも1行ですが...(^^;;;
ご希望はこちら? そのまま続けただけですが.
with(subset(d, g==1), mean(s2))
No.21224 Re: データの抽出と計算 【青木繁伸】 2014/07/27(Sun) 13:25
taipapa さんの解以外に,以下のようなものもmean(d$s2[d$g==1])要素の添え字指定が不要という意味では,最初のもの mean(d$s2[d$g==1]) がよいと思います。添え字指定しない場合 by(d$s2, d$g, mean) は d$g ごとの平均値ベクトルを返してくれるので,目的によっては好都合。
by(d$s2, d$g, mean)[1]
mean(subset(d, g==1)[,2])
colMeans(subset(d, g==1))[2]
mean(split(d, d$g)[[1]][,2])
colMeans(split(d, d$g)[[1]])[2]
No.21225 Re: データの抽出と計算 【taipapa】 2014/07/27(Sun) 14:08
仰るように,青木先生の最初の解が一番スマートですね.
d$g ごとの平均値を出すのなら,ダサいですが,こんなのも...
with(d.df, tapply(s2, list(g==1), mean))
withがいやなら
tapply(d$s2, list(d$g==1), mean)
No.21228 Re: データの抽出と計算 【コロン】 2014/07/28(Mon) 15:32
青木先生,taipapa様
お礼が遅くなり申し訳ありませんでした。
とても勉強になりました。
こんなにたくさんの組み合わせがあるなんて驚きです。
ありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 046 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る