如何根据另一列(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 个独特样本中的每一个进行子集化之外,我不知道该怎么做,这效率不高。
我将不胜感激。
体重
您可以使用 dplyr
的 group_by
和 summarise
函数执行此操作:
library(dplyr)
iris %>%
group_by(Species) %>%
summarise_all(.funs = median)
aggregate
来自 base R
的选项
aggregate(.~ Species, iris, median)
我有一个包含 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 个独特样本中的每一个进行子集化之外,我不知道该怎么做,这效率不高。
我将不胜感激。
体重
您可以使用 dplyr
的 group_by
和 summarise
函数执行此操作:
library(dplyr)
iris %>%
group_by(Species) %>%
summarise_all(.funs = median)
aggregate
来自 base R
aggregate(.~ Species, iris, median)