求和并除以使用dplyr的总重复次数?
假设我有这样一个数据帧:求和并除以使用dplyr的总重复次数?,r,dplyr,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) 现在我需要按类型汇总,也就是说,将所有类型相加,然后除以总发生次数。例如,在上面的例子中,它将是rna(1+1+3)/3和dna(20+30)/2,但目前我只能将其求和 lib
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)
现在我需要按类型汇总,也就是说,将所有类型相加,然后除以总发生次数。例如,在上面的例子中,它将是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
谢谢 我们需要除以每组中的行数(
n()
)
否则,这就是平均值
df %>%
group_by(type) %>%
summarise(value = mean(value))
# A tibble: 2 x 2
# type value
# <fct> <dbl>
#1 rna 2
#2 dna 25
df%>%
分组依据(类型)%>%
总结(值=平均值)
#一个tibble:2x2
#类型值
#
#1 rna 2
#2 dna 25
yah,哈哈,没错。非常感谢。没有意识到,但是/n部分是有用的。
df %>%
group_by(type) %>%
summarise(value = sum(value)/n())
df %>%
group_by(type) %>%
summarise(value = mean(value))
# A tibble: 2 x 2
# type value
# <fct> <dbl>
#1 rna 2
#2 dna 25