Как загрузить последовательность эллиптических коэффициентов Фурье в 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

Это то, что вы искали?

Другие вопросы по тегам