有更快的方法吗? N ^ 2时间似乎很糟糕。
mergeData<-function(p,c) {
for(i in 1:length(p[[1]])) {
for(k in 1:length(c[[1]])) {
if(toString(c[[k,46]]) == toString(p[[i,1]])) {
#Do stuff here with pairs found
print(i)
}
}
}
}
答案 0 :(得分:1)
row1 = c[[,46]]
row2 = p[[,1]]
x = data.frame(row = row1, nr1 = c(1:len(row1)))
y = data.frame(row = row2, nr2 = c(1:len(row2)))
same_pairs = merge(x, y)[c("nr1", "nr2")]
在same_pairs
中,您现在拥有相同元素的行。
复杂性:O(len(row1) + len(row2))