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

相关文章