如果键列值与dplyr(R)复制,则获取平均值

时间:2018-08-31 08:23:17

标签: r dplyr

这是我的数据。我想做的是,如果基因列的值重复(例如CASZ1),那么我想获取每个Sample列的平均值。

输入数据

enter image description here

输出数据

enter image description here

我在Google上搜索并尝试过,但是我一直想得到答案。我很抱歉提出这样一个问题,看起来就像是作业。

我的代码

data %>% group_by(gene) %>% summarise(avg = mean(colnames(data)) --- error...

2 个答案:

答案 0 :(得分:2)

您可以使用summarise_all

library(dplyr)
data %>% group_by(gene) %>% summarise_all(funs(mean))

答案 1 :(得分:2)

您可以将summarize_at与一些正则表达式一起使用,以确保不包括任何不在您的模式开头的列:

data %>% group_by(gene) %>% summarise_at(vars(matches("Sample")), mean)

这是您要找的吗?