我有2个数据帧(temp_inp和temp),分别具有5和50k行,并且它们都具有约3k列。
我想计算数据框1的所有行与数据框2之间的欧几里德距离[(x1-x2)^ 2-不需要取平方根或除以nrow-我只需要最小距离的行]。
所需的最终输出将具有 行=来自temp(50k)的行 列= temp_inp(5)中的行
在此之后,我要以5行与数据框1保持最小距离。
请注意,由于数据大小,类似rbind&dist函数的功能将无法使用。我试过的是这个
for (i in c(1:nrow(temp_inp))) {
for (j in c(1:nrow(temp))) {
temp1[j,i] <- sum((temp[j,]-temp_inp[i,])^2)
}}
这耗费了疯狂的时间...(8小时) 我试着找我寻找相同代码的矢量化版本。如果您对此有任何想法或知道任何内置功能/软件包可以帮助我,请帮助我。