R 对于每个组,元素1第一次出现的时间是什么时候?

R 对于每个组,元素1第一次出现的时间是什么时候?,r,R,输出为: X1 | X2 | Group 1 | 1 | 1 1 | 2 | 1 1 | 3 | 1 1 | 4 | 1 0 | 1 | 2 1 | 2 | 2 0 | 1 | 3 0 | 2 | 3 1 | 1 | 4 0 | 1 | 5 0 | 2 | 5 0 | 3 | 5 1 | 4 | 5 1 | 5 | 5 1 | 1 | 6 1 | 2 | 6 按“组”分组后,sliceX1为1的行并删除“X1” X2 | Group 1 | 1 2 | 2 0 | 3 1 | 4 1 | 5

输出为:

X1 | X2 | Group
1 | 1 | 1
1 | 2 | 1
1 | 3 | 1
1 | 4 | 1
0 | 1 | 2
1 | 2 | 2
0 | 1 | 3
0 | 2 | 3
1 | 1 | 4
0 | 1 | 5
0 | 2 | 5
0 | 3 | 5
1 | 4 | 5
1 | 5 | 5
1 | 1 | 6
1 | 2 | 6

按“组”分组后,
slice
X1为1的行并删除“X1”

X2 | Group
1 | 1
2 | 2
0 | 3
1 | 4
1 | 5
1 | 6

或使用
摘要

library(dplyr)
library(tidyr)
df1 %>%
    group_by(Group) %>%
    slice(match(1, X1)) %>%
    ungroup %>%
    select(-X1) %>%
    complete(Group = unique(df1$Group), fill = list(X2 = 0))
数据
df1按“Group”分组后,
slice
将“X1”为1的行切分,并删除“X1”

X2 | Group
1 | 1
2 | 2
0 | 3
1 | 4
1 | 5
1 | 6

或使用
摘要

library(dplyr)
library(tidyr)
df1 %>%
    group_by(Group) %>%
    slice(match(1, X1)) %>%
    ungroup %>%
    select(-X1) %>%
    complete(Group = unique(df1$Group), fill = list(X2 = 0))
数据
df1您的描述和输出与输入不匹配。请检查您的描述中的“X2”列,输出与输入不匹配。请检查“X2”列是否非常简短