如何为在 R 数据帧中将 0 分配给 FALSE 值的二进制列创建顺序索引值?

要为 R 数据帧中将 0 分配给 FALSE 值的二进制列创建顺序索引值,我们可以按照以下步骤操作 -

  • 首先,创建一个带有二进制列的数据框。

  • 然后,使用 rle 函数以及序列和长度函数来创建顺序索引列。

示例

创建数据框

让我们创建一个数据框,如下所示 -

x<-sample(c(TRUE,FALSE),25,replace=TRUE)
df<-data.frame(x)
df
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    x
1  TRUE
2  TRUE
3  TRUE
4  FALSE
5  TRUE
6  TRUE
7  FALSE
8  TRUE
9  TRUE
10 TRUE
11 FALSE
12 FALSE
13 TRUE
14 FALSE
15 TRUE
16 FALSE
17 TRUE
18 TRUE
19 FALSE
20 FALSE
21 FALSE
22 FALSE
23 FALSE
24 FALSE
25 TRUE

创建顺序索引列

使用 rle 函数以及序列和长度函数为数据框 df 中的列 x 创建顺序索引列 -

x<-sample(c(TRUE,FALSE),25,replace=TRUE)
df<-data.frame(x)
df$Index<-with(rle(df$x),sequence(lengths)*df$x)
df
输出结果
    x  Index
1  TRUE  1
2  TRUE  2
3  TRUE  3
4  FALSE 0
5  TRUE  1
6  TRUE  2
7  FALSE 0
8  TRUE  1
9  TRUE  2
10 TRUE  3
11 FALSE 0
12 FALSE 0
13 TRUE  1
14 FALSE 0
15 TRUE  1
16 FALSE 0
17 TRUE  1
18 TRUE  2
19 FALSE 0
20 FALSE 0
21 FALSE 0
22 FALSE 0
23 FALSE 0
24 FALSE 0
25 TRUE  1

猜你喜欢