Как загрузить последовательность эллиптических коэффициентов Фурье в R, чтобы провести общий анализ в пакете Momocs?
Я новичок с Р.
У меня есть текстовый файл с предварительно рассчитанной последовательностью эллиптических коэффициентов Фурье (гармоник). В первом столбце хранится имя объекта, в другом - наборы гармоник, разделенных пробелами: A0 B0 C0 D0 ... An Bn Cn Dn. Это часть файла:
Lceph-sp1-1 0 0,27 -1 0 -0,29 0,2 0,1 -0,05 0,15 0,1 0,07 0,02
Lceph-sp1-2 0 -0,36 1 0 -0,27 0,25 0,12 -0,09 -0,26 -0,03 -0,17 0
Lceph-sp1-3 0 0,25 -1 0 -0,29 0,19 0,09 -0,05 0,15 0,1 0,06 0,01
Lceph-sp1-4 0 -0,37 1 0 -0,27 0,26 0,09 -0,07 -0,19 -0,07 -0,12 -0,02
Я загружаю файл в R командой read.delim2:
ef <- read.delim2( "filename", header=FALSE, sep="")
Затем я хочу проанализировать полученные данные, используя функции из пакета Momocs, такие как calibrate_harmonicpower, plot, PCA и другие.
Для этого необходимо преобразовать загруженные данные в Coe(?) Или другой объект. (Я точно не знаю, к какому.)
Как подготовить загруженные данные для анализа в пакете Momocs R?
1 ответ
Если вы вычисляете эллиптические коэффициенты Фурье вне R/Momocs, то вы должны импортировать их как OutCoe
объект следующим образом:
# we load Momocs and import your table.
library(Momocs)
#Here I use your data (using `text` but a path to your file will work by your side
data <- read.table(dec=",", text="
Lceph-sp1-1 0 0,27 -1 0 -0,29 0,2 0,1 -0,05 0,15 0,1 0,07 0,02
Lceph-sp1-2 0 -0,36 1 0 -0,27 0,25 0,12 -0,09 -0,26 -0,03 -0,17 0
Lceph-sp1-3 0 0,25 -1 0 -0,29 0,19 0,09 -0,05 0,15 0,1 0,06 0,01
Lceph-sp1-4 0 -0,37 1 0 -0,27 0,26 0,09 -0,07 -0,19 -0,07 -0,12 -0,02")
# we can extract the `$fac` cofactor/variates table with `lf_structure`
fac <- lf_structure(data[, 1], names=c("ind", "sp", "id"), split="-")
# then we simply pass all columns but the first, the `fac`
# and two others arguments `Momocs` cannot deduce `method` and `norm`
# see ?Outcoe
x <- OutCoe(coe=data[, -1], fac=fac, method="efourier", norm=TRUE)
Теперь у нас есть "работа" Outcoe
объект:
> x
An OutCoe object [ elliptical Fourier analysis ]
--------------------
- $coe: 4 outlines described, 3 harmonics
- $fac: 3 classifiers:
'ind' (factor 1): Lceph.
'sp' (factor 1): sp1.
'id' (factor 4): 1, 2, 3, 4.
Это вы можете использовать для продолжения анализа, например:
x %>% PCA %>% plot
Это то, что вы искали?