Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
优化R中的双回路_R_Loops_Optimization_Vectorization - Fatal编程技术网

优化R中的双回路

优化R中的双回路,r,loops,optimization,vectorization,R,Loops,Optimization,Vectorization,我有一个双循环工作: for (i in 1:nrow(doe)) { for (j in 1:nrow(rsm)) { if (rsm[j,2] == doe[i,2] & rsm[j,3] == doe[i,3] & rsm[j,4] == doe[i,4]) { out <- cbind(doe[i,6], rsm[j,6]) matching_out <- rbind(matching_out, out) bre

我有一个双循环工作:

for (i in 1:nrow(doe)) {
  for (j in 1:nrow(rsm)) {
    if (rsm[j,2] == doe[i,2] & rsm[j,3] == doe[i,3] & rsm[j,4] == doe[i,4]) {
      out <- cbind(doe[i,6], rsm[j,6])
      matching_out <- rbind(matching_out, out)
      break
    }
  }
}
for(i/1:nrow(doe)){
适用于(j/1:nrow(rsm)){
if(rsm[j,2]==doe[i,2]&rsm[j,3]==doe[i,3]&rsm[j,4]==doe[i,4]){

out您只需使用一个基本的
R
一行程序即可执行此操作:

merge(rsm, doe, by.x=names(rsm)[2:4],by.y=names(doe)[2:4])[-(1:3)]

看看dplyr。试着制作一个可复制的示例,并显示您所需的输出。这里的主要瓶颈是行
匹配