#r
#r
Вопрос:
Я работаю с пакетом ‘indicspecies’ — функция multipatt и не могу извлечь итоговые значения пакета. К сожалению, я не могу распечатать всю сводку и остаюсь с беспристрастной информацией для моей модели. Причина в огромном объеме данных, которые необходимо распечатать из сводки (300 000 различных видов, 3 группы, 6 сопоставимых комбинаций).
Это то, что происходит при сохранении сводки (включая предварительный код).:
x <- multipatt(data, ...)
sumx <-summary(x)
sumx
NULL
str(sumx)
NULL
Таким образом, сводка не работает точно так же, как общая сводка. Похоже, что функция основана на более старой функции indval из пакета ‘labdsv’ (которая упоминается в документации). Я нашел архивную ветку, где обсуждается аналогичная проблема: http://r.789695.n4.nabble.com/extract-values-from-summary-of-function-indval-of-the-package-labdsv-td4637466.html
но, похоже, это не решено (и это не совсем та же функция, скорее базовая функция indval).
Мне было интересно, есть ли у кого-нибудь опыт работы с пакетом indicspecies и знает ли он способ извлечь информацию из сводки.
Можно извлечь значение и другую информацию из других сохраненных данных модели, но было бы неплохо просто получить быстрый полный обзор из данных.
ps. Я пытался
options(max.print=1000000)
но это не решило проблему для меня.
Ответ №1:
Я использую для захвата summary
выходных данных для multipatt
объекта, но больше не делаю, потому что сообщаемые значения p не исправлены для многократного тестирования. Чтобы ответить на вопрос OP, вы можете получить итоговый результат с помощью capture.output
пример. dat.multipatt.summary<-capture.output(summary(dat.multipatt, indvalcomp=TRUE))
Опять же, я не рекомендую это. Очень важно исправить p-значения для многократного тестирования, поэтому summary
вывод фактически бесполезен. Для ясности ?multipatt
говорится:
«подпишите таблицу данных результатами наилучшего соответствия шаблону, значением ассоциации и степенью статистической значимости ассоциации (т. е. p-значениями из теста перестановки). Обратите внимание, что p-значения не корректируются при многократном тестировании.»
Я только что опубликовал ответ о том, как исправить p-значения здесь https://stats.stackexchange.com/questions/370724/indiscpecies-multipatt-and-overcoming-multi-comparrisons/401277#401277
Комментарии:
1. Хотя верно, что значения p не корректируются при многократном тестировании, возникает вопрос, следует ли исправлять значения p при многократном тестировании. Хотя большинство людей автоматически ответили бы «да», это обсуждается в статье, прилагаемой к пакету:
2. Они приводят аргумент, что если вас интересует только сообщение о том, что данный вид является индикатором, то коррекция для p-значений не требуется. Смотрите Carecas 2010 «Улучшение анализа видов индикаторов путем объединения групп сайтов»
3. @GeertHensgens Верно, вы указали, что вас интересует «значение извлечения», и в этом случае было бы уместно исправить p-значения.
4. да, это верно, однако мне это было нужно только для того, чтобы выбрать вид индикатора из данных модели. В любом случае, спасибо, я знаю, что это обсуждение на самом деле немного переросло в статистику, но я надеюсь, что все в порядке.
Ответ №2:
У меня нет никакого опыта работы с этим пакетом, и поскольку вы не предоставили данные, их трудно воспроизвести. Но поскольку summary возвращает NULL, вы уверены, что ваш x
вычислен правильно? Проверьте object.size
или class
или что-то еще из x
, чтобы увидеть, действительно ли в нем есть какой-либо контент. Также вместо того, чтобы обращаться ко всему содержимому summary(x)
вместе, вы можете использовать @
для доступа к его слотам (аналогично $
в dataframe).
Если вам нужна дополнительная помощь, было бы лучше предоставить хотя бы небольшое подмножество или некоторые другие образцы данных, чтобы сообщество могло с ними работать.
Комментарии:
1. Привет, спасибо за ответ. Да, всегда лучше ввести какие-то данные, но это очень большие данные, и я не совсем уверен, что это сильно поможет — поскольку проблема находится в оригинальном пакете labdsv. На самом деле я думаю, что на самом деле решения нет, поскольку в старом потоке уже (если я правильно его интерпретирую) упоминалось, что функция summary присваивает summary неправильный класс данных, что делает извлечение невозможным. В любом случае, я подумал, что, возможно, у кого-то была такая же проблема с тем же пакетом, и он нашел способ ее обойти.
2. Если вы считаете, что это проблема с функциональностью самого пакета, попробуйте открыть проблему в github под этим. Вы тоже можете сослаться на эту страницу. Может помочь и другим в будущем.
3. Хорошая идея, хотя я не очень знаком с GitHub, но я мог бы сделать это в будущем. Спасибо!