Я пытаюсь выполнить некоторые анализы функционального разнообразия для пчел в Северном Онтарио.Я использую пакет R SYNCSA и пытаюсь рассчитать разнообразие Рао.Появляется ошибка, в которой говорится, что «Существуют виды из данных сообщества, которые не включены в матрицу признаков».
Чтобы выполнить анализ с помощью функции rao.diversity, мне нужно было составить таблицу данных по численности(например, 2 сообщества пчел и сколько в нем каждого вида) и таблица признаков (например, каждый вид в сообществе и их специфичность пыльцы, поведение гнездования и т. д., который содержит порядковые данные, которые я оценил численно).
Теперь существует правило, использующее эту функцию, когда названия видов, которые находятся в столбцах в данных сообщества (численности), должны точно соответствовать названиям видов строк в данных признаков.Когда я получил эту ошибку, я сразу же убедился, что столбцы данных сообщества соответствуют строкам данных признаков, и они, насколько я вижу, соответствуют.Я также попробовал функцию organiz.syncsa, которая должна исправить несоответствие столбца / строки, только чтобы получить сообщение об ошибке «comm должен содержать только числовые или двоичные переменные».Мой comm (то есть данные сообщества) действительно содержит только числовые переменные, поэтому я тоже не знаю, что я делаю неправильно.
Ниже приведены текстовые представления ASCII моих 2 таблиц для данных сообщества иданные о свойствах соответственно:
dput(community.data.raos)
structure(list(X = structure(2:1, .Label = c("Akimiski", "Far North"
), class = "factor"), Andrena.algida = 1:0, Andrena.barbilabris = 1:0,
Andrena.frigida = 1:0, Anthophora.terminalis = 0:1, Bombus.flavidus = c(6L,
0L), Bombus.flavifrons = 2:1, Bombus.frigidus = c(65L, 27L
), Bombus.melanopygus = c(0L, 8L), Bombus.mixtus = 1:2, Bombus.sandersoni = c(21L,
0L), Bombus.sylvicola = c(4L, 17L), Bombus.ternarius = c(5L,
15L), Bombus.terricola = c(8L, 0L), Bombus.vagans = c(9L,
0L), Colletes.americanus = 0:1, Colletes.impunctatus = c(0L,
6L), Colletes.nigrifrons = c(1L, 5L), Halictus.ligatus = c(0L,
2L), Halictus.rubicundus = c(2L, 0L), Halictus.tripartitus = 1:0,
Halictus.virgatellus = c(2L, 12L), Lasioglossum.ephialtum = c(2L,
0L), Lasioglossum.laevissimum = 1:0, Lasioglossum.inconditum = c(5L,
0L), Lasioglossum.quebecense = 1:0, Coelioxys.sodalis = 2:1,
Hoplitis.albifrons = 1:0, Megachile.circumcincta = 0:1, Megachile.frigida = 2:3,
Megachile.gemula = 1:2, Megachile.lapponica = c(1L, 1L),
Megachile.melanophaea = c(0L, 3L), Megachile.montivaga = 1:0,
Megachile.perihirta = c(0L, 3L), Megachile.relativa = 1:2,
Osmia.bucephala = c(1L, 1L), Osmia.laticeps = 1:0, Osmia.nigrifrons = c(2L,
0L), Osmia.nigriventris = c(5L, 1L), Osmia.paradisica = c(0L,
8L), Osmia.tarsata = 1:0, Osmia.tersula = 1:0), class = "data.frame", row.names = c(NA,
-2L))
dput(trait.table.raos)
structure(list(X = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 16L, 17L, 18L, 19L, 20L, 21L, 22L,
24L, 26L, 25L, 27L, 15L, 23L, 28L, 29L, 30L, 31L, 32L, 33L, 34L,
35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L), .Label = c("Andrena.algida ",
"Andrena.barbilabris ", "Andrena.frigida ", "Anthophora.terminalis",
"Bombus.flavidus", "Bombus.flavifrons ", "Bombus.frigidus ",
"Bombus.melanopygus ", "Bombus.mixtus", "Bombus.sandersoni ",
"Bombus.sylvicola", "Bombus.ternarius ", "Bombus.terricola ",
"Bombus.vagans ", "Coelioxys.sodalis ", "Colletes.americanus",
"Colletes.impunctatus", "Colletes.nigrifrons", "Halictus.ligatus",
"Halictus.rubicundus", "Halictus.tripartitus", "Halictus.virgatellus ",
"Hoplitis.albifrons ", "Lasioglossum.ephialtum", "Lasioglossum.inconditum",
"Lasioglossum.laevissimum ", "Lasioglossum.quebecense ", "Megachile.circumcincta ",
"Megachile.frigida", "Megachile.gemula", "Megachile.lapponica",
"Megachile.melanophaea", "Megachile.montivaga ", "Megachile.perihirta",
"Megachile.relativa", "Osmia.bucephala", "Osmia.laticeps", "Osmia.nigrifrons",
"Osmia.nigriventris", "Osmia.paradisica ", "Osmia.tarsata", "Osmia.tersula "
), class = "factor"), Pollen.Specificity = c(2L, 2L, 1L, 2L,
0L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 0L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L,
1L, 2L, 2L, 2L, 1L, 2L), Tongue.Length = c(0L, 0L, 0L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L), Sociality = c(1L, 1L, 1L, 1L, 0L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 3L, 2L, 2L, 3L, 3L, 2L,
1L, 1L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L), Nesting.Behavior = c(0L, 0L, 0L, 2L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 2L, 1L,
0L, 1L, 1L), Average.Female.ITD = c(NA, NA, NA, NA, 3.64, NA,
3.02, NA, 4.52, 3.21, 3.67, 4.17, 4.14, 3.59, NA, 2.15, 1.97,
NA, 2.21, NA, 1.79, NA, NA, 1.43, NA, NA, NA, NA, 3.14, 3.57,
3.21, 3.24, NA, 3.92, NA, 4, NA, 3.29, 3.86, 3.09, NA, NA)), class = "data.frame", row.names = c(NA,
-42L))
И пример получаемой ошибки:
rao.diversity(comm = community.data.raos, traits = trait.table.raos)
Error in rao.diversity(comm = community.data.raos, traits = trait.table.raos) :
There are species from community data that are not on traits matrix
>
Функция rao.diversity должна создавать серию небольших таблиц со значением от 0 до1 для каждого сайта (в моем случае, есть два таких сайта), указывающих различные меры разнообразия.Вместо этого я получаю сообщение об ошибке «Существуют виды из данных сообщества, которые не включены в матрицу признаков».