求和除以使用dplyr的重复总数?

时间:2018-05-30 05:19:12

标签: r dplyr

假设我有一个数据帧:

d<- data.frame (type=c("rna","rna","rna"), value = c(1,2,3) )
d2 <- data.frame (type=c("dna","dna"), value = c(20,30) )
df <- rbind (d,d2)

看起来像这样:

  type value
1  rna     1
2  rna     2
3  rna     3
4  dna    20
5  dna    30

现在我需要按类型汇总,即汇总所有类型,并将其除以总出现次数。例如,在上面的示例中,它将用于rna(1 + 1 + 3)/ 3和dna(20 + 30)/ 2,但是目前我只能得到它的总和,

library(dplyr)
    df %>%
        group_by(type) %>%
        summarise_all(sum) %>%
        data.frame() 

以上代码生成

  type value
1  rna     6
2  dna    50

而我真正想要的是这个

  type value
1  rna     2
2  dna    25

感谢。

1 个答案:

答案 0 :(得分:1)

我们需要除以每组中的行数(package com.facebook.ads

n()

否则为df %>% group_by(type) %>% summarise(value = sum(value)/n())

mean