簡體   English   中英

使用R計算基於多個列的一列中重復實驗結果值的平均值

[英]Calculating mean of replicate experiment result values in a column based on multiple columns using R

這樣的解決方案發布在此門戶網站上,可以通過使用R分組來計算基於另一列的列中的平均值。但是,我無法使用R來計算基於多個列的列中重復實驗結果值的平均值我需要保留Rep列以外的所有列,並將value列替換為基於Rep和所有其他列的平均值。

library(dplyr)

Cmpd1  <-  c("abc1","abc1","abc1","abc1","abc1","abc1","abc1","abc1","abc1","abc1","abc1","abc1")
cmpd1_conc  <-  c("0.0412","0.0412","0.1235","0.1235","0.3704","0.3704","1.1111","1.1111","3.3333","3.3333","10","10")
Cmpd2 <-  c("xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1","xyz1")
cmpd2_conc   <- c("1","1","1","1","1","1","1","1","1","1","1","1")
value    <- c(157120,144160,110480,92600,100800,97600,92240,78800,67920,61520,37640,34240)
Plate  <- c("Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1","Plate1")
CL  <- c("CL1","CL1","CL1","CL1","CL1","CL1","CL1","CL1","CL1","CL1","CL1","CL1")
Rep   <-  c(1,2,1,2,1,2,1,2,1,2,1,2)

Result <- data.frame(Cmpd1,cmpd1_conc, Cmpd2, cmpd2_conc, value, Plate, CL, Rep)

MeanResult <- Result %>%
  group_by(Cmpd1, cmpd1_conc, Cmpd2, 
           cmpd2_conc, Plate, CL, Rep) %>% 
  summarize(MeanValue = mean(value))

我嘗試了此門戶中多個條目中建議的幾種方法,但沒有成功。 我想知道我在想什么。

如果我正確理解您需要的代碼,則:

res2 <- aggregate(value~Cmpd1 + cmpd1_conc + Cmpd2 + cmpd2_conc + Plate + CL, FUN = mean, data = Result)

它產生data.frame

 res2
  Cmpd1 cmpd1_conc Cmpd2 cmpd2_conc  Plate  CL  value
1  abc1     0.0412  xyz1          1 Plate1 CL1 150640
2  abc1     0.1235  xyz1          1 Plate1 CL1 101540
3  abc1     0.3704  xyz1          1 Plate1 CL1  99200
4  abc1     1.1111  xyz1          1 Plate1 CL1  85520
5  abc1         10  xyz1          1 Plate1 CL1  35940
6  abc1     3.3333  xyz1          1 Plate1 CL1  64720

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM