小编ron*_*ley的帖子

如何合并两个不同大小的数据框

我正在处理两个不同大小的数据帧.

matA : col1 col2 col3
row1   aa    abc   123
row2   cc    dfg   455
row3   ee    efg   345

matB : col1 col4 col5
row1   aa    a1   b1
row2   cc    a2   b2
row3   dd    a3   b3
row4   ee    a4   b4

dim(matA) : 2000 * 3
dim(matB) : 4000 * 3


matC : col1 col2 col3  col4 col5
row1 : aa   abc  123   a1    b1
row2 : cc   dfg  455   a2    b2
row3 : dd   efg  345   a3    b3
row4 : ee …
Run Code Online (Sandbox Code Playgroud)

r

4
推荐指数
1
解决办法
2万
查看次数

从for循环申请加速R

我正在运行一个带有两个矩阵的for循环.一个matrix(A)有~100个字符串(例如,name1,name2,...,name100),只有一列.另一个比值和字符串的行和列matrix(B)更大A.在B矩阵的某些地方,矩阵的每个名称A都是匹配的.我想A在输出矩阵上用特定的矩阵字符串提取和堆叠匹配的整行.

所以,我运行如下,

output <- NULL
for(K in 1:nrow(A)){
  print(K)
  for(cc in 1:nrow(B)){
    for(dd in 1:ncol(B)){
      if(toupper(A[K])==toupper(B[cc,dd])){
        output <- rbind(output,B[cc,])
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但它太慢了.在运行时间方面,如何使循环更有效?

r

1
推荐指数
1
解决办法
192
查看次数

标签 统计

r ×2