使用dplyr在R中进行聚合的平均值和计数

时间:2016-03-23 16:26:17

标签: r dplyr

我想计算变量价格等于0,49的元素数量,或者如果我还想要计算其他东西,但我不在乎这个案例的价格。 如果这个不等于0或49

,我想通过终端做平均价格
terminal <- c("a", "b", "a", "c", "b", "b")
price <- c(0, 49, 3.5, 0, 17, 32)
df <- data.frame(terminal, price)

df %>%
group_by(terminal, price) %>%
summarise(count = n())

这里我想要计算:1,1,2,1,1 在此之后,当这个不等于零或49时,我想得到终端的平均价格。

1 个答案:

答案 0 :(得分:3)

我们需要根据值'0'和'49'创建一个具有'price'的分组变量。为此,一种方法是使用==获取0和49的逻辑索引,做一些算术,以便我们将有3个组一个用于0,一个用于49,其余用于所有其他。通过'terminal'和'gr'分组,我们summarise得到行数,即'n'和'price'的mean不是0或49(使用{{1} }和否定%in%

!