Я пытаюсь выполнить Аносим {веган} на моих экологических данных, и я получаю одно и то же сообщение об ошибке. Я не думаю, что это дублирующий вопрос из другого, уже опубликованного, и хотел бы полностью показать, что происходит.
Я получил мой числовой фрейм данных ("sps"), состоящий из 17 строк (сайтов) и 313 столбцов (видов), и второй фрейм данных ("env.data"), содержащий столбец с 17 факторами. Поэтому я хотел бы проверить, есть ли существенные различия между моими 17 группами.
Вот пример моих данных:
> sps[,2:5]
A. faranauti A. tecta A. lyra A. arbuscula
Sargasso Sea 0 0 2 0
Equatorial Brazil 0 0 0 0
Canarias Sea 0 0 0 0
Corner Seamounts 0 0 0 2
Gulf of Mexico 0 0 0 0
Labrador Sea 0 0 0 0
Equatorial Africa 0 0 0 0
Tropic Seamount 0 0 0 107
NewEngland Seamount Chain 0 0 0 0
Norwegian Basin 0 0 0 0
Eastern North Atlantic 0 0 3 0
Logachev and BritishIsles 0 0 0 4
Reykjanes Ridge 0 0 0 0
MAR North 0 0 0 14
Flemish Cap 0 0 0 217
MAR South 1 1 0 0
Azores Seamount Chain 0 0 0 12
> class(sps)
[1] "data.frame"
> head(env.data)
idcell geo_area
1 1 Sargasso Sea
2 2 Equatorial Brazil
3 3 Canarias Sea
4 4 Corner Seamounts
5 5 Gulf of Mexico
6 6 Labrador Sea
> str(env.data)
'data.frame': 17 obs. of 2 variables:
$ idcell : Factor w/ 17 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ geo_area: Factor w/ 17 levels "Canarias Sea",..: 15 5 1 2 7 8 4 17 12 13..
Следуя {вегану}, я сначала вычислил матрицу различий с Соренсеном в качестве метода расстояния. Затем я использую эту матрицу различий в качестве ввода для anosim:
dist.sorensen <- vegdist(sps, method= "bray", binary = TRUE, na.rm= TRUE,
diag = TRUE)
sorensen.anosim <- anosim(dat=dist.sorensen, env.data$geo_area, permutations
= 999)
> summary(sorensen.anosim )
Call:
anosim(dat = dist.sorensen, grouping = env.data$geo_area, permutations =
999)
Dissimilarity: binary bray
ANOSIM statistic R:
Significance: 0.001
Permutation: free
Number of permutations: 999
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Я также пробовал anosim с необработанными данными о видах, и я получаю ту же ошибку:
raw.anosim <- anosim(sps, env.data$geo_area, permutations = 999, distance =
"bray")
Есть идеи? Мой "sps" dataframe (x) является числовым. В моем наборе данных (групп) env.data есть столбец с 17 уровнями. Я не вижу, откуда возникла ошибка, если она не присуща моим данным. Многие из 313 видов, перечисленных в моем исходном кадре данных, были зарегистрированы только один раз на моих 17 участках (очень вероятно, из-за смещения выборки). Тем не менее, я получаю кластеры после выполнения "vegdist (индекс Соренсена)" и "hclust".