【发布时间】:2013-04-18 19:45:03
【问题描述】:
所以我知道如果你有:
m = matrix(1:9, 3,3)
z = as.matrix(expand.grid(1:3, 1:3))
你会的
m[z]
# you get back 1 2 3 4 5 6 7 8 9
如果你这样做了
m[] = m[z]
# You get back a matrix..
我对这个[] 运算符的作用有点困惑?为什么m[][z] 或m[z][] 之类的东西不返回矩阵?以及如何让它返回一个矩阵而不将其分配给变量m[]
谢谢!
【问题讨论】:
-
您希望从
m[z]得到什么?哪里不一致?请记住,在 R 中,matrix只是具有尺寸的vector... -
好吧,我期待一个矩阵。我知道它会返回一个向量。但我没有从向量中创建一个新矩阵,例如:
matrix(vector, nrow, ncol),而是找到了这个有用的运算符。我只是找不到任何文档 -
可以通过
?Extract或?"["找到“[”的文档。如果你想避免其他常见的陷阱,应该仔细研究,我建议至少完整阅读 5 个。