【发布时间】:2017-06-30 00:58:40
【问题描述】:
提前道歉,我很难为这个问题命名。我有一个物种相互作用矩阵,其中的列和行代表物种,矩阵填充是它们相互作用的频率:
matrix<- 2A 2B 2C
1A 1 2 4
1B 0 1 1
1C 5 4 1
我想制作一个如下形式的矩阵:
mat<-
comm
1A_2A 1
1A_2B 2
1A_2C 4
1B_2A 0
1B_2B 1
1B_2C 1
1C_2A 5
1C_2B 4
1C_2C 1
其中物种相互作用变为行,列可以是任何变量,但矩阵填充仍然是相互作用的频率,结构仍然是矩阵。这样,矩阵采用社区 x 物种矩阵的形式。我想以这种方式折叠矩阵并保留矩阵形式的原因是启用library(vegetarian) 中的函数,例如需要矩阵形式的d()。
【问题讨论】:
-
我的印象是如果我使用 reshape 包,结构将成为一个数据框。结构会保持矩阵吗?
-
您将一列吸收到新的行标签中,删除该列并留下一个 9x1 数字的东西
-
没有理由维护矩阵,而 data.frame 更合适。
-
@thc 这是你的意见,但是 OP 已经明确解释了为什么他想要一个矩阵作为结果
标签: r