关于使用dplyr的组内平均值
我有一个简短的问题。为什么这个代码给我们的是所有数据的平均值,而不是X内的平均值关于使用dplyr的组内平均值,r,R,我有一个简短的问题。为什么这个代码给我们的是所有数据的平均值,而不是X内的平均值 df1 <- data.frame(X = rep(x = LETTERS[1:2], each = 3), Y = 1:6) df1<-df1%>%group_by(X)%>%mutate(meanY=mean(Y)) df1%突变(平均值Y=平均值(Y)) 原因是加载的mutate来自plyr屏蔽了dplyr::mutate。在新的R会话上执行此操作,而不加载plyr,或者
df1 <- data.frame(X = rep(x = LETTERS[1:2], each = 3), Y = 1:6)
df1<-df1%>%group_by(X)%>%mutate(meanY=mean(Y))
df1%突变(平均值Y=平均值(Y))
原因是加载的mutate
来自plyr
屏蔽了dplyr::mutate
。在新的R
会话上执行此操作,而不加载plyr
,或者使用:
指定包名
library(dplyr)
df1%>%
group_by(X)%>%
dplyr::mutate(meanY=mean(Y))
# A tibble: 6 x 3
# Groups: X [2]
# X Y meanY
# <fct> <int> <dbl>
#1 A 1 2
#2 A 2 2
#3 A 3 2
#4 B 4 5
#5 B 5 5
#6 B 6 5
另外,你接受的每一个答案都会得到2点声誉积分。
df1%>%
group_by(X)%>%
plyr::mutate(meanY=mean(Y))
# A tibble: 6 x 3
# Groups: X [2]
# X Y meanY
# <fct> <int> <dbl>
#1 A 1 3.5
#2 A 2 3.5
#3 A 3 3.5
#4 B 4 3.5
#5 B 5 3.5
#6 B 6 3.5