我有 103 个数据框,其中包含 7 个变量和 1000 多行。我想在其他 102 个数据帧中找到一个数据帧的一对两列的出现次数。换句话说,c(V1,V2)
在其他 102 个数据帧中可以看到一起多少次(= 一个数据帧的两列一起)。
我已经写了一个代码,但是速度很慢!
我将所有 103 个数据框放在一个列表中,并将其转换为数据框。然后做一个for循环,逐一读取每个数据帧。并且在每个循环中,我都有另一个 for 循环来搜索该列表中数据框的每一行!
代码的主要部分如下:
for(i in file){
input<-read.table(i)
for(j in 1:1000){
df1<- data.table(input[j,c(1,3)])
count<-merge(df1,dt, c("V1", "V3")) //dt is a data frame includes all 103 data frames
df1["count"]<-nrow(count)
}
}
这样,我可以计算一个数据帧的V1和V3集合有多少次进入其他数据帧。但获得全部结果需要50多天!
我想知道是否有人可以帮助我以更快的方式获得我想要的结果。
数据框示例(此处仅考虑 5 个变量):
V1 V2 V3 V4 V5
1 Q0 abc 34 3
1 Q0 abd 31 9
1 Q0 bac 32 3
1 Q0 cba 56 0
2 Q0 zxc 37 3
2 Q0 fgc 30 3
2 Q0 ghc 36 3
事实上,我想知道 V3 的每个值有多少次出现在其他数据帧中,但因为 V3 和 V1 是相互依赖的。我也必须在搜索中考虑 V1。所以,我必须看看有多少次c(V1,V3)
出现在其他数据框中。例如 (1,abc) 一起!或 (1, abd)。
dt 具有与数据帧相同的结构,但它包含来自我拥有的所有数据帧的所有数据!