当使用R在列中找到数字时,如何增加变量

当使用R在列中找到数字时,如何增加变量,r,R,我有一个数据框,如下所示 Col1 34 45 67 80 89 87 80 79.9 94 89 54 88 问题 我需要另一个名为Incremental\u count的变量,当它在col1中找到大于80的值时,它会增加该值,如下所示 col1 Incremental_count 34 0 45 0 67 0 80 1 89 1 87 1 80 1 79.9

我有一个数据框,如下所示

Col1
34
45
67
80
89
87
80
79.9
94
89
54
88
问题
我需要另一个名为
Incremental\u count
的变量,当它在col1中找到大于80的值时,它会增加该值,如下所示

col1    Incremental_count
34          0
45          0
67          0
80          1
89          1
87          1
80          1
79.9        0
94          2
89          2
54          0
88          3
56          0
76          0
83          4
55          4
col1    Incremental_count
34          0
45          0
67          0
80          1
89          1
87          1
80          1
79.9        1
94          2
89          2
54          3
88          3
56          3
76          3
83          4
55          4
请让我知道剧本

更新的问题
我需要另一个名为
Incremental\u count
的变量,当它在col1中找到大于80的值时,该变量会增加该值,并且必须将增加的值保留到下面的行,尽管col1中的值小于80,如下所示

col1    Incremental_count
34          0
45          0
67          0
80          1
89          1
87          1
80          1
79.9        0
94          2
89          2
54          0
88          3
56          0
76          0
83          4
55          4
col1    Incremental_count
34          0
45          0
67          0
80          1
89          1
87          1
80          1
79.9        1
94          2
89          2
54          3
88          3
56          3
76          3
83          4
55          4

我们可以使用
rle
即从
base R
运行长度编码来获得预期的输出

df1$Incremental_count <- inverse.rle(within.list(rle(df1$Col1 > 80), 
             values[values] <- seq_along(values[values])))
df1
#   Col1 Incremental_count
#1  34.0                 0
#2  45.0                 0
#3  67.0                 0
#4  80.0                 0
#5  89.0                 1
#6  87.0                 1
#7  80.0                 0
#8  79.9                 0
#9  94.0                 2
#10 89.0                 2
#11 54.0                 0
#12 88.0                 3
df1$Incremental\u count 80),

值[values],如果我必须为下面的行保留递增的值而不是0,那么我应该做什么更改?@Anup你能用你想要的内容更新你的帖子吗expected@akrun这真的很酷,谢谢!即使在阅读了它之后,我也不太理解代码中的两个项目-在.list中的
部分:这只是
with()
的一个变体,还是它的作用?我找不到关于这个的很多文档。类似地,
in.list
的参数的第二部分对我来说也不太清楚-您将
seq_的结果沿着
分配给
值[值]
,但这到底告诉函数做什么?如果你有时间,任何指点都将不胜感激@patrick谢谢,
rle
的输出是一个
列表
,它有方法使用
内提取或进行一些修改。列表
它应该是对
内的
的修改,适用于
列表
@akrun Done!!!!加油!!代码按要求工作,非常感谢大师。