如何为在 R 数据帧中将 0 分配给 FALSE 值的二进制列创建顺序索引值?
要为R数据帧中将0分配给FALSE值的二进制列创建顺序索引值,我们可以按照以下步骤操作-
首先,创建一个带有二进制列的数据框。
然后,使用rle函数以及序列和长度函数来创建顺序索引列。
示例
创建数据框
让我们创建一个数据框,如下所示-
x<-sample(c(TRUE,FALSE),25,replace=TRUE) df<-data.frame(x) df输出结果
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
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