如何根据另一列(Rstudio)的唯一名称计算列的一部分的中位数?

How to calculate the median for a part of a column based on unique names from another column (Rstudio)?

我有一个包含 4 列(不包括行名)和 >1200 行的数据框。

(unique cell ID; rownames) Sample ID ME.brown ME.turquoise ME.blue
p1t1_bcHTNA p1t1 -0.004 0.0023 0.00683
p1t1_bcHNVA p1t1 0.0054 -0.0123 0.0045
p1t2_bcEZOJ p1t2 -0.0022 0.00354 0.00374
K3-B003528 LT_S58 0.0464 0.00734 -0.0013

我有 > 1200 个唯一的细胞 ID,总共对应 68 个样本(样本 ID)。现在,我想要做的是计算每个样本的每个 ME(棕色、绿松石色和蓝色)的中值。所以理想情况下,我希望最终得到一个包含 68 行(对于每个唯一样本)和 3 列(对于每个 ME 中位数)的 table。除了手动对 68 个独特样本中的每一个进行子集化之外,我不知道该怎么做,这效率不高。

我将不胜感激。

体重

您可以使用 dplyrgroup_bysummarise 函数执行此操作:

library(dplyr)

iris %>% 
   group_by(Species) %>%  
   summarise_all(.funs = median)

aggregate 来自 base R

的选项
aggregate(.~ Species, iris, median)