要为 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