r - 尝试将矩阵的值相乘以获得另一个新矩阵,“要替换的项目数不是替换长度的倍数”中的错误
问题描述
我做了一个循环for(x in 1:nrow(std)){ std3[x,] <- std[x,]*wt }
我有变量 wt(在数据框中):(nrow = 1,ncol = 20)wt
MAT MWMT MCMT TD MAP MSP
0.017671149 0.014570650 0.017590221 0.013502170 0.012492879 0.012123104
AHM SHM DD_0 DD5 NFFD bFFP
0.012687610 0.015350388 0.020480264 0.018187111 0.016277024 0.012101312
eFFP FFP PAS EMT EXT Eref
0.011703445 0.013804658 0.010790885 0.016859298 0.014416079 0.015454274
CMD MAR RH
0.015151816 0.005430275 0.007500012
我有一个名为 std: 的应用函数后生成的矩阵,但 std 的结构对我来说似乎很奇怪,它就像一个 2 的命名数字列表。在此处输入图像描述
我制作了一个名为 std3 的新矩阵:std3 <- matrix(ncol = 20,nrow = nrow(std));str(std3)
在此处输入图像描述
这里的问题是:Error in std3[x, ] <- std[x, ] * wt :
number of items to replace is not a multiple of replacement length
我认为这是标准矩阵问题,但不知道如何解决,请帮忙。谢谢!