2016-08-24 2 views
0

私は3つの異なる治療法があり、それぞれに5つのサンプル値があります。私は各治療に対応する5つの値をどのように合計するのかが難しいです。分割基準でセルを合計するにはどうすればよいですか?

本当に私は管理があまり簡単ではない大きなデータフレームで作業しています。私は取得しています

Treatment Variable 
A1 0.020408163 
A1 0.040816327 
A1 0.06122449 
A1 0.081632653 
A1 0.102040816 
A2 0.12244898 
A2 0.142857143 
A2 0.163265306 
A2 0.183673469 
A2 0.204081633 
A3 0.224489796 
A3 0.244897959 
A3 0.265306122 
A3 0.285714286 
A3 0.306122449 

names(dataexample_2) 
summary(dataexample_2) 


Add<-sapply(split(dataexample_2, dataexample_2$Treatment), function(d)  sum(dataexample_2$Variable,na.rm = FALSE)) 
Table<-as.data.frame(Add) 

を::

以下はデータフレームdataexample_2と私はしかし、非肯定的な結果を使用していますsrciptあります(下記参照)

 Add 
A1 2.44898 
A2 2.44898 
A3 2.44898 

そして私は取得したいです:

 Add 
A1 0.3061 
A2 0.8163 
A3 1.3265 

ご協力いただければ幸いです。前もって感謝します。よろしく。 Matías。

+0

完了、私は実用性の欠如についてお詫び申し上げます。よろしく。 –

答えて

1

コードの問題は、現在のデータdではなく、匿名でfunction(d)のデータ全体を参照することです。

次補正を行は、あなたが欲しいものを行います。

sapply(split(dataexample_2, dataexample_2$Treatment), function(d) sum(d$Variable,na.rm = FALSE)) 

はまた、私はあなたがsapplyよりも達成したいタスクに適していtapplyを見ていることを示唆しています。それは、はるかに明確な全体を行うことができます:

tapply(dataexample_2$Variable, dataexample_2$Treatment, sum) 
関連する問題