R 按组计算多样性

R 按组计算多样性,r,R,我试图为BTO数据绘制shannon多样性图,但是,要使用素食者包,我必须将数据放入矩阵形式。这不是一个问题,然而,我有各种各样的变量来分组香农多样性,然而,我很难将其子集到代码中 我需要一种方法来计算多样性,方法是使用以下代码,通过本地性\u id+邮政编码+周+年: diversity <- diversity(method_one[, 5:150], index = "shannon", base = exp(1)) 编辑: 我也尝试过: diversity(a

我试图为BTO数据绘制shannon多样性图,但是,要使用
素食者
包,我必须将数据放入矩阵形式。这不是一个问题,然而,我有各种各样的变量来分组香农多样性,然而,我很难将其子集到代码中

我需要一种方法来计算多样性,方法是使用以下代码,通过
本地性\u id+邮政编码+周+年

diversity <- diversity(method_one[, 5:150], index = "shannon", base = exp(1))
编辑: 我也尝试过:

diversity(aggregate(. ~ LOC_ID + week + year + POSTCODE  , method_one, sum), MARGIN=1, index="simpson")
但是,它报告输入数据不是数字

请尝试以下操作

vals <- diversity(aggregate(. ~ LOC_ID + week + year + POSTCODE  , method_one, sum)[, 5:25], MARGIN=1, index="simpson")
round(vals, 3)
 [1] 0.611 0.617 0.860 0.640 0.876 0.857 0.790 0.778 0.716 0.720 0.778 0.806 0.731 0.800 0.852 0.740 0.612 0.758 0.798 0.840 0.836 0.781 0.833
[24] 0.803 0.833 0.754 0.853 0.741 0.711 0.810 0.826 0.720 0.760 0.810 0.850 0.886 0.778 0.778 0.725 0.862 0.820 0.806 0.796 0.844 0.844 0.881
[47] 0.565 0.875 0.722 0.719
vals
vals <- diversity(aggregate(. ~ LOC_ID + week + year + POSTCODE  , method_one, sum)[, 5:25], MARGIN=1, index="simpson")
round(vals, 3)
 [1] 0.611 0.617 0.860 0.640 0.876 0.857 0.790 0.778 0.716 0.720 0.778 0.806 0.731 0.800 0.852 0.740 0.612 0.758 0.798 0.840 0.836 0.781 0.833
[24] 0.803 0.833 0.754 0.853 0.741 0.711 0.810 0.826 0.720 0.760 0.810 0.850 0.886 0.778 0.778 0.725 0.862 0.820 0.806 0.796 0.844 0.844 0.881
[47] 0.565 0.875 0.722 0.719