r - 如何使用从 group_by (dplyr) 中退休的值创建列

标签 r dplyr

假设我们有以下数据框:

df <- data.frame( a=c( 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3),
                  b=c('x','x','y','y','v','v','w','w','x','x','y','y')
                 )

我想要做的是创建一个列“d”,这样 d 将是对添加到 a 值的每个组的操作。例如,假设“d”等于“a”的每个值减去每个组的“a”平均值。我们会有:

new_df <- data.frame(a=c( 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3),
                     b=c('x','x','y','y','v','v','w','w','x','x','y','y'),
                     d=c(-1 , -1, -1, -1, 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1)

有没有办法使用 dplyr 来做到这一点?

最佳答案

尝试

library(dplyr)
df %>%
   group_by(b) %>% 
   mutate(d= a-mean(a))

关于r - 如何使用从 group_by (dplyr) 中退休的值创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078522/

相关文章:

r - 如何在 R 中使用并发值求和

r - dplyr 中的分组均值

在 R 中使用 shell() 运行 .bat 文件

r - 如何解决 R 中 reshape2 包的 dcast 错误?

r - 在 R (data.table) 中查找连续两周的第一个日期

r - 使用 dplyr 将条件应用于整行

r - 省略列而不是将它们放在 purrr 中

r - 操纵日期和连续结果

r - R中向量和向量列表之间的角度

r - 有没有办法像R中的capture.output()一样捕获Julia中的stdout?