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