gpt4 book ai didi

r - 使用 Dplyr 查找数字是否减少或增加的差异

转载 作者:行者123 更新时间:2023-12-03 04:29:38 24 4
gpt4 key购买 nike

> df
Date User Current_Coins
01/01 1 150
01/02 1 100
01/01 2 100
01/02 2 150
01/01 3 100
01/02 3 150
01/03 3 100
01/04 3 200
01/04 3 0

根据用户当前拥有的硬币数量,我想总结使用 dplyr 使用和获得的硬币总和。

预期结果:

> df
User Coins_Gained Coins_Used
1 0 50
2 50 0
3 150 250

我尝试使用 lag() 但没有将硬币的使用和 yield 分开。我想不出一个 Eloquent 解决方案,任何帮助将不胜感激。

最佳答案

这是一种方法:

library(dplyr)
df %>%
group_by(User) %>%
mutate(x = Current_Coins - lag(Current_Coins)) %>% # compute the differences
summarise(Coin_gained = sum(x[x>0], na.rm = TRUE), # sum up positives
Coin_used = abs(sum(x[x<0], na.rm = TRUE))) # sum up negatives

#Source: local data frame [3 x 3]
#
# User Coin_gained Coin_used
#1 1 0 50
#2 2 50 0
#3 3 150 250

关于r - 使用 Dplyr 查找数字是否减少或增加的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27978462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com