Я пытаюсь использовать линейную функцию RRPP (procd.lm) последней версии geomorph (3.1.1) для анализа некоторых геометрических морфометрических данных. Однако эта функция, кажется, думает, что мой фрейм данных, который включает в себя результаты GPA и некоторые группирующие переменные, пуст («данные» должны иметь векторный тип, был «NULL»). Но другие функции в geomorph рады работать с ним. Я озадачен.
Я выполнил GPA для получения выровненных координат формы, затем собрал фрейм данных с использованием geomorph.data.frame, как показано в документации по геоморфам. Этот фрейм данных имеет результаты из GPA вместе с некоторыми переменными из другого (обычного) фрейма данных, который состоит из данных из файла CSV, который я прочитал. Geomorph позволит некоторые вещи (например, построение с помощью plotTangentspace), но не будет запустить модель procD.lm - она просто продолжает выдавать сообщение об ошибке ниже. Я проверил все в своих CSV и фреймах данных и не могу найти пропущенные значения или что-то в этом роде.
Предварительная модель подходит ...
| ================================================= ===== | 50% Ошибка в массиве (x, c (длина (x), 1L), если (! Is.null (names (x))) список (names (x),:
'data' должен быть векторного типа, был 'NULL'
загрузить пакет геоморфов
библиотека (geomorph)
читать в файле TPS и в файле ползунков
Jars <-readland.tps ("append_final.TPS", specID = "imageID", readcurves = FALSE) </p>
слайдеры <-as.matrix (read.csv ("curvelidePat.csv", header = TRUE)) </p>
выполнить обобщенное выравнивание прокруток (GPA) и затем визуализировать
Jars_GPA <-gpagen (банки, кривые = ползунки, ProcD = FALSE)
plotAllSpecimens (Jars_GPA $ Coords) </p>
читать в файле с идентификаторами видов, упорядоченными так же, как файл TPS
Sp_IDs.df <-as.data.frame (read.csv ("Alldata.csv", header = TRUE)) </p>
создать новый фрейм данных с данными из GPA и идентификаторов видов
Jars_GDF <-geomorph.data.frame (Jars_GPA, Sp_ID = as.factor (Sp_IDs.df $ Species), ID = as.factor (Sp_IDs.df $ ID),
Jar = as.factor (Sp_IDs.df $ Jar), Treatment = as.factor (Sp_IDs.df $ Treatment),
Sp_T = as.factor (Sp_IDs.df $ Sp_T)) </p>
визуализировать PCA
plotTangentSpace (Jars_GDF $ ords, groups = col.SpID, legend = TRUE)
выполнить линейную регрессию на расстоянии прокрутки (procD.lm) координат формы в pop.ID/species
Jars_procDlm <- procD.lm (координаты ~ Csize + Jar + Sp_ID * обработка, iter = 999,
print.progress = TRUE, RRPP = TRUE, данные = Jars_GDF) </p>
Резюме (Jars_procDlm)
Следует запустить модель и дать таблицу anova и т. Д.