在对多列进行分组/汇总时如何使用依赖项?

时间:2019-04-24 08:09:27

标签: r dplyr dependencies multiple-columns summarize

我正在尝试使用dplyr的group_by / summarise汇总数据框中的多列。如果对后一列中的前一列有依赖性,则summary使用已经汇总的值。有没有办法避免这种行为并使用原始值?

我当然可以对汇总的方式进行重新排序,或者为具有相关性的汇总列提供新的名称,并在以后重命名。但是,这种行为有点出乎意料,因此我想知道这是否是避免这种情况的方法。我拥有dplyr的最新版本(版本0.8.0.1)。

library(dplyr)

# Create data frame with data and group column
df <- data.frame(observation = rnorm(5000), 
                 group = rep(1:1000, each = 5))

# Summarise to mean observation --> Standard deviation is NA
df %>% 
  group_by(group) %>% 
  summarise(observation = mean(observation), std = sd(observation) %>% 
  View

# Possible solution: rename variable --> Standard deviation is calculated
df %>% 
  group_by(group) %>% 
  summarise(observation_mean = mean(observation), std = sd(observation)) %>% 
  rename(observation = observation_mean) %>% 
  View

在第一个groupby / summaryise中,没有计算标准差,因为dplyr使用已经更新的值(仅为1)工作。 在第二个groupby / summary中,原始观测值仍然可用,并且标准偏差已按预期计算。

0 个答案:

没有答案