我正试图让这个简单的循环'上班。我无法将昏暗(F4)变成6848x2矩阵。我只想划分两个矩阵的行条目。这就是我所拥有的......
> dim(F3)
[1] 6848 2
> head(F3)
[,1] [,2]
[1,] 140.9838 516.0239
[2,] 140.9838 516.0239
[3,] 140.9838 516.0239
[4,] 140.9838 516.0239
[5,] 140.9838 516.0239
[6,] 175.5093 515.2280
> dim(scale)
[1] 6848 1
F4 <- matrix(, nrow = nrow(F1), ncol = 1)
for (i in 1:t){
F4[i,]<-(F3[i]/scale[i])} #ONLY WANT F3(i) ROW TO BE DIVIDED BY SCALE(i) ROW
> dim(F4) #DOESN'T GIVE ME 6848x2 Matrix
[1] 6848 1
答案 0 :(得分:1)
这里不需要使用for循环。这是一个矢量化解决方案:
F3/as.vector(sacle) ## BAD! use of built-in function "scale" as a variable!
示例:
mat <- matrix(1:8,4,2)
sx <- matrix(1:4,4,1)
mat /as.vector(sx)
使用as.vector
来摆脱矩阵划分维度。