这个问题在这里已有答案:
我正在弄清楚如何将矩阵的第n列除以行向量的第n个元素 .
例如,让矩阵a和向量b为:
a <- matrix(1:9, byrow = TRUE, nrow = 3)
b <- c(3:5)
给
[[1]]
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[[2]]
[1] 3 4 5
在这种情况下,我正在寻找将矩阵的第一列除以3,将第二列除以4而将第四列除以5的代码 .
我尝试过使用apply函数但没有成功
c <- apply(a, 2, function(x) x / b)
是否有任何代码可以使用apply执行此操作,最好不使用循环?
3 回答
您可以使用
sweep
:另一种选择是
mapply
,即这使
您可以对矩阵进行转置,除以并再次转置结果 .