R Tidy:动态顺序阈值

问题描述 投票:0回答:2

[我正在尝试找到一种整洁的方法来动态调整阈值,因为我使用library(tidyverse)“移动”了小标题。例如,想象一下包含顺序观察的小标题:

example <- 
  tibble(observed = c(2,1,1,2,2,4,10,4,2,2,3))
example
# A tibble: 11 x 1
   observed
      <dbl>
 1        2
 2        1
 3        1
 4        2
 5        2
 6        4
 7       10
 8        4
 9        2
10        2
11        3

我正在尝试计算一个阈值,该阈值以初始值(2)开始并以预定量递增(在这种情况下为1),除非当前观察值大于该阈值,在这种情况下当前观察值] >成为参考阈值,并且进一步的阈值从该阈值递增。这是最后的小标题:

answer <- 
  example %>%
  mutate(threshold = c(2,3,4,5,6,7,10,11,12,13,14))
answer
# A tibble: 11 x 2
   observed threshold
      <dbl>     <dbl>
 1        2         2
 2        1         3
 3        1         4
 4        2         5
 5        2         6
 6        4         7
 7       10        10
 8        4        11
 9        2        12
10        2        13
11        3        14

我正在寻找使用dplyr / tidy的最佳方法。感谢所有帮助!

我试图找到一种整齐的方法来动态调整阈值,因为我使用library(tidyverse)来通过小标题“移动”。例如,想象一下包含顺序观察结果的小标题:示例

r dplyr tidy
2个回答
1
投票

您可以使用diff创建组并将该组中的行号添加到first值。


1
投票

我们可以用列差的lag创建分组变量

© www.soinside.com 2019 - 2024. All rights reserved.