如何在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

更新于:2021年11月11日

浏览量:155

启动你的职业生涯

完成课程获得认证

开始学习
广告