【发布时间】:2020-05-30 14:26:15
【问题描述】:
我想从我应用于 dplyr 管道中数据的函数中排除当前观察,因为我想知道没有这个观察的值。
为简单起见,让我们计算包括当前观测值和排除此观测值的平均值。该解决方案应该适用于其他计算或函数(在我的例子中,来自 DescTools 包的 Gini 函数)。
假设我们在三个不同的日子(天)查看三种不同冰的冰价格(ice_id = 冰标识符)。
da <- data.frame(ice_id = c(1,1,1,2,2,2,3,3,3), day = c(1,2,3,1,2,3,1,2,3), price = c(1.60,1.90,1.80,2.10,2.05,2.30,0.50,0.40,0.35))
da
ice_id day price
1 1 1 1.60
2 1 2 1.90
3 1 3 1.80
4 2 1 2.10
5 2 2 2.05
6 2 3 2.30
7 3 1 0.50
8 3 2 0.40
9 3 3 0.35
我想添加一列表示包括这一天的冰的平均价格和一列表示不包括这一天的冰的平均价格。
da = da %>%
group_by(ice_id) %>%
mutate(mean_price = mean(price),
mean_price_without = ?)
如何在没有当前观察值的情况下添加平均价格?
【问题讨论】:
标签: r function dplyr pipe transformation