【发布时间】:2021-12-31 12:22:33
【问题描述】:
我有 2 个矩阵/数据框,A 和 B,每个尺寸为 50x30。
如何将矩阵 A 的每列的前 11 个元素分别替换为矩阵 B 的每列的 11 个元素,而不必循环每列?
示例(对于矩阵 3x3 和 n_replace = 2):
matrix A matrix B resultant matrix
v1 v2 v3 v1 v2 v3 v1 v2 v3
1 2 1 12 99 .31 -> 12 99 .31 # replaced from matrix B
5 4 1 33 .2 12 33 .2 12 # replaced from matrix B
9 2 3 10 .3 14 9 2 3 # remained from matrix A
我想我可以做类似的事情
for(i in 1:3) {
replace(A[,i], c(1:n_replace), B[1:n_replace,i])
}
但是在 R 中是否有更直接/更智能的方法来做到这一点?
【问题讨论】:
标签: r dataframe loops matrix multiple-columns