从现有矩阵 R 替换矩阵中的列

replacing columns in matrix from existing matirx R

我想问你一个问题,如何使用函数 sample 将 Y 矩阵中的某些列替换为 X 矩阵中的列? 所以我有两个矩阵 X 和 Y,我想使用 sample 将矩阵 X 中的 20% 的列(随机)替换为矩阵 Y? 请问你有什么想法吗?

试试这个(m1 的 20% 被相同索引的 m2 替换):

m1 <- matrix(1, ncol = 10, nrow = 10)
m2 <- matrix(2, ncol = 10, nrow = 10)

s  <- sample(1:length(m1), length(m1)*0.2) 
m1[s] <- m2[s]