2016-08-24 73 views
0

我有三種不同的治療方法,每種治療方案中有五個樣本值。我在如何總結每次治療相應的五個值時遇到困難。如何用拆分標準對單元格進行求和?

真的,我正在處理一個很大的數據框,對我來說管理不是太容易。

下面有數據幀dataexample_2和我使用的,但與非陽性結果的srcipt(見下文):

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) 

我獲得:

 Add 
A1 2.44898 
A2 2.44898 
A3 2.44898 

我希望獲得:

 Add 
A1 0.3061 
A2 0.8163 
A3 1.3265 

任何幫助將非常感激。提前致謝。問候。馬蒂亞斯。

+0

做完了,我對缺乏實用性表示歉意。問候。 –

回答

1

您的代碼存在的問題是您引用的是您的anonymus function(d)中的全部數據而不是當前數據d

以下更正行你想要做什麼:

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

此外,我建議你看看tapply這是更適合你想要完成比sapply任務。它可以做更清晰的整個事情:

tapply(dataexample_2$Variable, dataexample_2$Treatment, sum) 
相關問題