我使用R语言。
这是我的数据:
例如:
Prot_before
: 一个70000行的矩阵,每行有两列: group(共有700个组)和每个样本的值(共有120个样本)。Prot_healthy
: 一个30000行的矩阵,每行有两列: group(共有700个组)和每个样本的值(共有45个样本)。
prot_before
中的每一行,我想要找到它的值减去prot_healthy
中该组所有样本的值。例如:
set.seed(100)
Prot_before <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15))
Prot_before <- df[order(df$cat, df$val), ]
Prot_before
set.seed(100)
Prot_after <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15))
Prot_after <- df[order(df$cat, df$val), ]
Prot_after
现在我想要 prot_before
中每一行的结果,减去相同组中的所有样本,得到 prot_after
。所以对于 prot_before
中的每一行,我会得到45个结果。
我尝试使用sweep,但不知道如何按组重复执行该函数。
如果我的表达方式有误,很抱歉,我经验不足。
谢谢!