«betadisper» FUNTION в веганском [R], вычисляет многомерную дисперсию группы сайтов на основе их расстоянияОшибка при использовании R функции betadisper
у меня есть матрица расстояний с несколькими группами сайтов:
dis <- vegdist(correct_tree_data)
Я создал свои «группы», используя функцию «factor» (23 уровня для 23 групп сайтов), и у каждой группы нет другого. сайты
groups <- factor(c(rep(1,144), rep(2,49), rep(3,121), rep(4,81), rep(5,81), rep(6,81), rep(7,36), rep(8,289), rep(9,324), rep(10,225), rep(11,256), rep(12,225), rep(13,289), rep(14,289), rep(15,144), rep(16,225), rep(17,225), rep(18,225), rep(19,225), rep(20,225), rep(21,225), rep(22,225), rep(23,225)), labels = c("s1_05","s2_05","s3_05","s4_05","s5_05","s6_05","s7_05","s1_10","s2_10","s3_10","s4_10","s5_10","s6_10","s7_10","s8_10","s1_15","s2_15","s3_15","s4_15","s5_15","s6_15","s7_15","s8_15"))
При использовании функции «betadisper», однако, я получаю следующее сообщение об ошибке:
mod <- betadisper(dis, groups)
Error in pts[groups == i, , drop = FALSE] : (subscript) logical subscript too long
Уровней общих соответствуют количеству групп в матрице расстояний, а также ни в , реплик в каждой группе
Что еще может внести вклад в эту ошибку?
Откуда берется 'correct_tree_data'? Можете ли вы сделать этот пример полностью воспроизводимым? http://stackoverflow.com/help/mcve http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –
Основываясь на некоторых экспериментах, я только что сделал с этими функциями I «Ответьте, что ответ заключается в том, что длина фактора« групп »на самом деле не соответствует размерам объекта' dis', но невозможно реально сказать, что происходит в вашем случае без воспроизводимого примера. –
Это было бы проще, если бы вы использовали просто 'rep (1:23, each = c (144, 49, 121, ...))' –