如何在 R 中通过忽略其中一列的值来对 data.table 对象进行子集化?
r programmingserver side programmingprogramming更新于 2025/6/24 7:07:17
要在 R 中通过忽略其中一列的值来对 data.table 对象进行子集化,我们可以按照以下步骤操作 −
首先,创建一个 data.table 对象。
然后,使用单个方括号通过忽略其中一列的值来对 data.table 对象进行子集化。
示例
创建 data.table 对象
让我们创建一个 data.table 对象,如下所示 −
library(data.table) x<-sample(1:3,25,replace=TRUE) y<-sample(1:4,25,replace=TRUE) z<-sample(1:3,25,replace=TRUE) DT<-data.table(x,y,z) DT
输出
执行时,上述脚本将生成以下输出(由于随机化,此输出将因您的系统而异) −
x y z 1: 1 1 1 2: 1 3 1 3: 1 4 3 4: 3 3 1 5: 1 4 1 6: 1 2 3 7: 1 3 2 8: 1 3 1 9: 2 4 3 10: 1 4 3 11: 3 3 1 12: 3 2 2 13: 3 1 2 14: 2 4 2 15: 3 3 1 16: 3 2 1 17: 1 1 3 18: 2 4 1 19: 3 4 2 20: 3 2 1 21: 2 2 1 22: 3 4 1 23: 3 3 1 24: 1 1 1 25: 2 4 1 x y z
通过忽略其中一列的值来对 data.table 对象进行子集化
使用单个方括号,通过忽略 y 列中的值 4 来对 data.table 对象 DT 进行子集化,如下所示 −
library(data.table) x<-sample(1:3,25,replace=TRUE) y<-sample(1:4,25,replace=TRUE) z<-sample(1:3,25,replace=TRUE) DT<-data.table(x,y,z) DT[DT$y!=4,]
输出
x y z 1: 1 1 1 2: 1 3 1 3: 3 3 1 4: 1 2 3 5: 1 3 2 6: 1 3 1 7: 3 3 1 8: 3 2 2 9: 3 1 2 10: 3 3 1 11: 3 2 1 12: 1 1 3 13: 3 2 1 14: 2 2 1 15: 3 3 1 16: 1 1 1