gpt4 book ai didi

r - 使用纵向数据集计算随时间变化的百分比

转载 作者:行者123 更新时间:2023-12-01 12:05:52 25 4
gpt4 key购买 nike

我正在尝试计算我拥有的一些数据的年度变化。它是面板/纵向形式

数据在一个看起来像这样的数据框中

Year    ZipCode     Value
2011 11411 5
2012 11411 10
2013 11411 20
2011 11345 6
2012 11345 7
2013 11345 10

我想得到一个以这样的形式出现的数据框

Year Differnce    Zipcode    % Change
2011-2012 11411 100%
2012-2013 11411 100%
2011-2012 11345 16%
2012-2013 11345 42%

最佳答案

使用 dplyr 的一种方法是通过从先前的 Value 中减去当前 Value 来计算 Change >将每个 ZipCodeYear 粘贴

library(dplyr)

df %>%
group_by(ZipCode) %>%
mutate(Change = (Value - lag(Value))/lag(Value) * 100,
Year_Diff = paste(lag(Year), Year, sep = "-")) %>%
slice(-1) %>%
select(Year_Diff, ZipCode, Change)

# Year_Diff ZipCode Change
# <chr> <int> <dbl>
#1 2011-2012 11345 16.7
#2 2012-2013 11345 42.9
#3 2011-2012 11411 100
#4 2012-2013 11411 100

关于r - 使用纵向数据集计算随时间变化的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57049466/

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