gpt4 book ai didi

R如何计算两行之间的 'Percentage of Change'?

转载 作者:行者123 更新时间:2023-12-05 00:56:34 26 4
gpt4 key购买 nike

  • 我喜欢在 Item 时计算“两行之间的变化百分比”
    行的变化。
  • 对于第一行项目,我可以放置一些文本或空白
    (例如“跳过”或空白是可以的)因为没有比较前一行的相同
    元素
    df <- data.frame(period=rep(1:4,2), 
    farm=c(rep('A',4),rep('B',4)),
    cumVol=c(1,5,15,31,10,12,16,24), item=c(rep('Z',3),rep('Y',3),rep('X',2)),
    other = 1:8);

  • 我想要的“Percentage_Change”列(数据集的附加列)的输出如下所示。 (公式:100/Previous Item 行值 * 当前行 Item 值...例如第 2 行..100/1 * 5 = 500)
    Row Percentage_Change
    1 Skip
    2 500
    3 300
    4 Skip
    5 32.25806452
    6 120
    7 Skip
    8 150

    感谢你的帮助。

    最佳答案

    可以用 dplyr 做同样的事情.这完全类似于 akrun的答案,但使用其他语法。

    library(dplyr)
    mutate(df, Row = 1:n()) %>%
    group_by(item) %>%
    mutate(Percentage_Change = cumVol/lag(cumVol) * 100) %>%
    ungroup %>%
    select(Row, Percentage_Change)
    ## Source: local data frame [8 x 2]
    ##
    ## Row Percentage_Change
    ## (int) (dbl)
    ## 1 1 NA
    ## 2 2 500.00000
    ## 3 3 300.00000
    ## 4 4 NA
    ## 5 5 32.25806
    ## 6 6 120.00000
    ## 7 7 NA
    ## 8 8 150.00000

    关于R如何计算两行之间的 'Percentage of Change'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36110977/

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