我正在尝试学习data.table中的R包。我有一个名为DT1的数据表和一个数据帧DF1,并且我想根据逻辑条件(析取)来对一些实例进行子集化。这是我现在的代码:

DF1[DF1$c1==0 | DF1$c2==1,] #the data.frame way with the data.frame DF1
DT1[DT1$c1==0 | DT1$c2==1,] #the data.frame way with the data.table DT1

"Introduction to the data.table package in R"的第5页上,作者举了一个类似的示例,但带有一个结合(上面第二行中的|替换&),并指出这是对data.table包的错误使用。他建议改用这种方式:
setkey(DT1,c1,c2)
DT1[J(0,1)]

因此,我的问题是:如何用data.table包语法编写析取条件?我的第二行DT1[DT1$c1==0 | DT1$c2==1,]是否滥用?除了析取之外,是否有与J等效的代码?

最佳答案

该文档表明您可以使用:

DT1[c1==0 | c2==1, ]

10-06 08:36