小编Pep*_*aez的帖子

在数据帧上执行滞后操作以计算 R 中的新值

我有以下代码,我正在计算数据点的百分比增长,然后我计算百分比增长的变化,我正在寻找的是能够添加一列,在其中计算百分比的读数数量增长变化为负

df <- data.frame(id = c(1,2,3,4,5,6,7,8,9,10,11,12), data = c(19, 19, 27, 27, 38, 42, 47, 48, 49, 50, 51, 53))
df <- mutate(df, pct_growth = (data - lag(data))/lag(data))
df <- mutate(df, pct_growth_change = pct_growth - lag(pct_growth))
df$pct_growth_streak <- 0
df <- dplyr::mutate(df, pct_growth_streak = ifelse(pct_growth_change <=0, lag(pct_growth_streak)+1,0) )
Run Code Online (Sandbox Code Playgroud)

我得到的输出如下

   id data pct_growth pct_growth_change pct_growth_streak
1   1   19         NA                NA                NA
2   2   19 0.00000000                NA                NA
3   3   27 0.42105263      0.4210526316                 0
4   4   27 0.00000000     -0.4210526316                 1
5   5 …
Run Code Online (Sandbox Code Playgroud)

r lag dataframe mutate

5
推荐指数
1
解决办法
68
查看次数

标签 统计

dataframe ×1

lag ×1

mutate ×1

r ×1