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