我试图找到多个向量之间不常见的元素。也就是说,我想确切地知道所有向量之间不共享的元素(不仅仅是它们的位置等)。
我能想到的最好的实现使用嵌套循环,我意识到这可能是效率最低的,最值得注意的是因为我写这个时执行仍在运行。这就是我想出的。 (每个* .id是最高法院案件ID的矢量,存储为字符串)。
check.cases<-TRUE
if(check.cases) {
all.cases<-c(AMKennedy.id,AScalia.id,CThomas.id,DHSouter.id,JGRoberts.id,JPStevens.id,RBGinsburg.id,SAAlito.id,SGBreyer.id)
bad.cases<-c()
for(b in all.cases) {
for(t in all.cases) {
m<-match(t,b)
bad<-t[which(is.na(m))]
bad.cases<-append(bad.cases,bad)
}
}
bad.cases<-unique(bad.cases)
}
print(bad.cases)
必须有一种更有效的方法吗?
答案 0 :(得分:3)
试图找出所有最高法院大法官都没有参与的案件?不要假设您有一个可以添加的小样本数据集?
一个想法:将矢量重叠在一起,以便你有一个像data.frame(“justice”,“case”)这样的数据集。然后使用hadley的reshape
包(使用cast
函数)来计算每个案例的法官数量。任何少于大法官总数的案件都将是“不良案件”。