当一列是 R 中的一个因素时如何使用 dist
How to use dist when one column is a factor in R
我正在研究使用照片四边形时相机角度如何影响物种覆盖率,因此有一个数据框,其中第一列是样本,第二列是角度(一个因素),其余列是不同的物种丰度(数字)。它看起来像这样:
df <- data.frame(ID = c(1, 2, 3, 4, 5,6,7,8,9,10,11,12),
angle = c('0','0','0','10','10','10','20','20','20','30','30','30'),
spec1 = c(0.3,0.2,0.5,0.5,0.8,0.6,0.1,0.5,0.1,0.2,0.5,0.3),
spec2 = c(0.2,0.4,0.3,0.5,0.1,0.3,0.3,0,0.7,0.8,0.2,0.6),
spec3 = c(0.5,0.3,0.2,0,0.1,0.1,0.6,0.5,0.2,0,0.3,0.1))
我想最终 运行 使用 adonis 对此进行 PERMANOVA(我以前从未使用过此功能,所以这对我来说是全新的)。我不确定如何使我的数据框纯粹是丰度数据,以便 运行 dist 并获得我需要的相异矩阵,而无需摆脱我首先要区分的因素。
我希望这是有道理的 - 谁能帮忙?
只需创建一个新的 table,其中前两列已被删除 - 这是您的社区数据矩阵。然后,当您调用 adonis
时,您可以从指定的 data
中指定您想要的任何预测变量。只需确保您的社区数据矩阵和 data
具有相同的行数。
library(vegan)
community <- df[,3:5]
adonis2(community ~ angle, data=df)
我正在研究使用照片四边形时相机角度如何影响物种覆盖率,因此有一个数据框,其中第一列是样本,第二列是角度(一个因素),其余列是不同的物种丰度(数字)。它看起来像这样:
df <- data.frame(ID = c(1, 2, 3, 4, 5,6,7,8,9,10,11,12),
angle = c('0','0','0','10','10','10','20','20','20','30','30','30'),
spec1 = c(0.3,0.2,0.5,0.5,0.8,0.6,0.1,0.5,0.1,0.2,0.5,0.3),
spec2 = c(0.2,0.4,0.3,0.5,0.1,0.3,0.3,0,0.7,0.8,0.2,0.6),
spec3 = c(0.5,0.3,0.2,0,0.1,0.1,0.6,0.5,0.2,0,0.3,0.1))
我想最终 运行 使用 adonis 对此进行 PERMANOVA(我以前从未使用过此功能,所以这对我来说是全新的)。我不确定如何使我的数据框纯粹是丰度数据,以便 运行 dist 并获得我需要的相异矩阵,而无需摆脱我首先要区分的因素。
我希望这是有道理的 - 谁能帮忙?
只需创建一个新的 table,其中前两列已被删除 - 这是您的社区数据矩阵。然后,当您调用 adonis
时,您可以从指定的 data
中指定您想要的任何预测变量。只需确保您的社区数据矩阵和 data
具有相同的行数。
library(vegan)
community <- df[,3:5]
adonis2(community ~ angle, data=df)