【发布时间】:2023-03-10 06:05:01
【问题描述】:
接着前面两个问题:
removing the first 3 rows of a group with conditional statement in r
Assigning NAs to rows with conditional statement in r
我的代码有些问题。如果不是删除行,我想将 NA 分配给第一行中的值大于 2 的每个事件。因此,如果事件在其第一行中的值大于 2,我想将 NA 分配给那个行,以及该事件的即将到来的两行。如果事件没有更多行,只需将 NA 分配给事件具有的行。
这是一个例子,有一列我想要的输出。
Event<- c(1,1,1,1,1,2,2,2,2,3,3,4,5,6,6,6,7,7,7,7)
Value<- c(1,0,8,0,8,8,7,1,10,4,0,1,10,3,0,0,NA,NA,5,0)
Desire_output<- c(1,0,8,0,8,NA, NA, NA,10,NA,NA,1,NA,NA,NA,NA,NA,NA,5,0)
AAA<- data.frame(Event, Value, Desire_output)
Event Value Desire_output
1 1 1 1
2 1 0 0
3 1 8 8
4 1 0 0
5 1 8 8
6 2 8 NA
7 2 7 NA
8 2 1 NA
9 2 10 10
10 3 4 NA
11 3 0 NA
12 4 1 1
13 5 10 NA
14 6 3 NA
15 6 0 NA
16 6 0 NA
17 7 NA NA
18 7 NA NA
19 7 5 5
20 7 0 0
注意:如果事件以 NA 开头,则什么也不做(如事件 7)。
如果您有任何想法,请告诉我,并提前感谢您的宝贵时间。
【问题讨论】:
-
您打错字了:您的第 9 个
Desire_output创建为0,但您将其显示为10。
标签: r dplyr conditional-statements tidyverse na