如何在R中找到data.table对象列中只出现一次的值的索引?
要查找R中data.table对象列中只出现一次的值的索引,我们可以按照以下步骤操作:
首先,创建一个data.table对象。
然后,结合使用which函数、duplicated函数和单方括号进行子集选择,查找列中只出现一次的值的索引。
示例1
创建data.table对象
让我们创建一个如下所示的data.table对象:
library(data.table) x<-sample(1:10,25,replace=TRUE) DT1<-data.table(x) DT1
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):
x 1: 3 2: 7 3: 7 4: 2 5: 4 6: 8 7: 10 8: 4 9: 5 10: 9 11: 1 12: 5 13: 8 14: 10 15: 1 16: 10 17: 2 18: 1 19: 10 20: 10 21: 8 22: 2 23: 1 24: 10 25: 4 x
查找列中只出现一次的值的索引
使用which函数、duplicated函数和单方括号进行子集选择,查找data.table对象DT1的x列中只出现一次的值的索引:
library(data.table) x<-sample(1:10,25,replace=TRUE) DT1<-data.table(x) which(!(DT1$x %in% DT1$x[duplicated(DT1$x)]))
输出
[1] 1 10
示例2
创建data.table对象
让我们创建一个如下所示的data.table对象:
library(data.table) y<-rpois(25,10) DT2<-data.table(y) DT2
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上可能会有所不同):
y 1: 9 2: 14 3: 7 4: 5 5: 11 6: 13 7: 8 8: 11 9: 9 10: 10 11: 6 12: 11 13: 10 14: 10 15: 14 16: 13 17: 13 18: 15 19: 9 20: 17 21: 11 22: 17 23: 20 24: 7 25: 12 y
查找列中只出现一次的值的索引
使用which函数、duplicated函数和单方括号进行子集选择,查找data.table对象DT2的y列中只出现一次的值的索引:
library(data.table) y<-rpois(25,10) DT2<-data.table(y) which(!(DT2$y %in% DT2$y[duplicated(DT2$y)]))
输出
[1] 4 7 11 18 23 25
广告