如何在R数据框中为二元列创建顺序索引值,并将0赋给FALSE值?
为了在R数据框中为二元列创建顺序索引值,并将0赋给FALSE值,我们可以按照以下步骤操作:
首先,创建一个包含二元列的数据框。
然后,使用rle函数以及sequence和lengths函数来创建顺序索引列。
示例
创建数据框
让我们创建一个如下所示的数据框:
x<-sample(c(TRUE,FALSE),25,replace=TRUE) df<-data.frame(x) df
输出
执行上述脚本后,会生成以下输出(由于随机化,此输出可能因您的系统而异):
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函数以及sequence和lengths函数为数据框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
广告