r - 保存 n 因子意味着在 r 中的同一数据帧中

标签 r merge dplyr

我正在寻找更好的选项,将组均值直接保存在新列的同一数据框中。我通常按​​照如下所示的步骤解决这个问题。是否有可能在不显式合并它们的情况下保存方法,但立即使用 dplyr 进行操作?

data <- data.frame(group  = rep(c("low","high"),2),
                   values = runif(n = 4, min = 0, max = 2))

data_mean <- data %>% group_by(group) %>% summarise (mean(values))

merge(data_mean, data)

  group mean(values)     values
1  high    0.2889459 0.07079697
2  high    0.2889459 0.50709475
3   low    0.7767188 0.93176182
4   low    0.7767188 0.62167588

最佳答案

只需使用 mutate 而不是 summarise 即可完成您想要的操作:

data %>%
  group_by(group) %>%
  mutate(mean = mean(values))

#Source: local data frame [4 x 3]
#Groups: group
#
#  group    values      mean
#1   low 1.4017168 0.7478336
#2  high 0.8074821 1.1018971
#3   low 0.0939505 0.7478336
#4  high 1.3963122 1.1018971

注意:我的值与您的不同,因为您没有使用 set.seed 来实现随机数的再现性。

关于r - 保存 n 因子意味着在 r 中的同一数据帧中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26721127/

相关文章:

正则表达式:删除除第一个字符和最后一个数字之外的所有内容

r - 线性回归中的残差是否遵循原始数据框行的相同顺序?

linux - 在 R 中安装与 stringr 包相关的包时出错

Git merge 单个文件而无需 rebase

python - 合并所有具有不同表的 SQLite 数据库

r - 在忽略 dplyr 链中的特定值集时取平均值

r - 使用 dplyr 包进行过滤

r - 是否有将 AOV 事后测试结果添加到 ggplot2 boxplot 的功能?

arrays - 如果元素本身是数组,合并两个数组(元素 + 元素)的最佳方法是什么

r - 使用 dplyr 通过分组变量解析多个条件