R循环和矩阵

时间:2015-04-01 02:23:45

标签: r loops

我正试图让这个简单的循环'上班。我无法将昏暗(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

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来摆脱矩阵划分维度。