我正在处理两个不同大小的数据帧.
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) 我正在运行一个带有两个矩阵的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 ×2