当我试图将数组的第一维乘以向量的每个索引值的第二维时,我的数组会被转换为矩阵,事情变得混乱起来。我只能手动进行正确的乘法计算。
这话说得有点啰嗦...
通过代码更容易理解...
Arr <- array(runif(10*5*3), dim = c(10,5,3))
dim(Arr)
Vect <- c(1:5)
Arr[,1,1] <- Arr[,1,1]*Vect[1]
Arr[,1,2] <- Arr[,1,2]*Vect[1]
Arr[,1,3] <- Arr[,1,3]*Vect[1]
Arr[,2,1] <- Arr[,2,1]*Vect[2]
Arr[,2,2] <- Arr[,2,2]*Vect[2]
Arr[,2,3] <- Arr[,2,3]*Vect[2]
Arr[,3,1] <- Arr[,3,1]*Vect[3]
Arr[,3,2] <- Arr[,3,2]*Vect[3]
Arr[,3,3] <- Arr[,3,3]*Vect[3]
Arr[,4,1] <- Arr[,4,1]*Vect[4]
Arr[,4,2] <- Arr[,4,2]*Vect[4]
Arr[,4,3] <- Arr[,4,3]*Vect[4]
Arr[,5,1] <- Arr[,5,1]*Vect[5]
Arr[,5,2] <- Arr[,5,2]*Vect[5]
Arr[,5,3] <- Arr[,5,3]*Vect[5]
我该如何将这个命令整理成一个命令?
sweep
的手册页远非清晰易懂(我仍然不知道STATS
意味着要“扫除”的摘要统计信息是什么),但您在这里精彩地阐述了它的用法!如果有可能,将其标记为 SO Dox(如果有的话...)。 - MichaelChirico