如何在 R 中的 data.table 对象中为二元列创建顺序索引值,并将 0 分配给数据中的 FALSE 值?
为了在 R 中的 data.table 对象中为二元列创建顺序索引值,并将 0 分配给 FALSE 值,我们可以遵循以下步骤:−
首先,创建一个包含二元列的 data.table 对象。
然后,使用 rle 函数以及 sequence 和 lengths 函数来创建顺序索引列。
示例
创建 data.table 对象
让我们创建一个如下所示的 data.table 对象:−
library(data.table) x<-sample(c(TRUE,FALSE),25,replace=TRUE) DT<-data.table(x) DT
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):−
x
1: FALSE
2: TRUE
3: FALSE
4: FALSE
5: FALSE
6: TRUE
7: FALSE
8: FALSE
9: FALSE
10: FALSE
11: TRUE
12: TRUE
13: FALSE
14: FALSE
15: TRUE
16: TRUE
17: FALSE
18: TRUE
19: TRUE
20: TRUE
21: TRUE
22: TRUE
23: TRUE
24: FALSE
25: TRUE
x创建顺序索引列
使用 rle 函数以及 sequence 和 lengths 函数为 data.table 对象 DT 中的列 x 创建顺序索引列:−
library(data.table) x<-sample(c(TRUE,FALSE),25,replace=TRUE) DT<-data.table(x) DT$Index<-with(rle(DT$x),sequence(lengths)*DT$x) DT
输出
x Index
1: FALSE 0
2: TRUE 1
3: FALSE 0
4: FALSE 0
5: FALSE 0
6: TRUE 1
7: FALSE 0
8: FALSE 0
9: FALSE 0
10: FALSE 0
11: TRUE 1
12: TRUE 2
13: FALSE 0
14: FALSE 0
15: TRUE 1
16: TRUE 2
17: FALSE 0
18: TRUE 1
19: TRUE 2
20: TRUE 3
21: TRUE 4
22: TRUE 5
23: TRUE 6
24: FALSE 0
25: TRUE 1
x Index
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP