Это действительно не будет работать с простым PGLS из caper
, потому что он не может иметь дело с людьми как случайный эффект. Я предлагаю вам использовать MCMCglmm
, который не намного сложнее для понимания и позволит вам иметь отдельных лиц в качестве случайного эффекта. Вы можете найти отличную документацию от автора пакета здесь или здесь или альтернативную документацию, которая больше касается некоторых специфических аспектов пакета (а именно, неопределенность дерева) здесь .
Очень кратко, чтобы вы начали:
## Your comparative data
comp_data <- comparative.data(phy = my_tree, data =my_data,
names.col = species, vcv = TRUE)
Обратите внимание, что у вас может быть столбец образца, который может выглядеть следующим образом:
taxa var1 var2 specimen
1 A 0.08730689 a spec1
2 B 0.47092692 a spec1
3 C -0.26302706 b spec1
4 D 0.95807782 b spec1
5 E 2.71590217 b spec1
6 A -0.40752058 a spec2
7 B -1.37192856 a spec2
8 C 0.30634567 b spec2
9 D -0.49828379 b spec2
10 E 1.42722363 b spec2
Затем вы можете настроить формулу (аналогично простой формуле lm
):
## Your formula
my_formula <- variable1 ~ variable2
А ваши настройки MCMC:
## Setting the prior list (see the MCMCglmm course notes for details)
prior <- list(R = list(V=1, nu=0.002),
G = list(G1 = list(V=1, nu=0.002)))
## Setting the MCMC parameters
## Number of interations
nitt <- 12000
## Length of burnin
burnin <- 2000
## Amount of thinning
thin <- 5
И тогда вы сможете запустить по умолчанию MCMCglmm
:
## Extracting the comparative data
mcmc_data <- comp_data$data
## As MCMCglmm requires a colume named animal for it to identify it as a phylo
## model we include an extra colume with the species names in it.
mcmc_data <- cbind(animal = rownames(mcmc_data), mcmc_data)
mcmc_tree <- comp_data$phy
## The MCMCglmmm
mod_mcmc <- MCMCglmm(fixed = my_formual,
random = ~ animal + specimen,
family = "gaussian",
pedigree = mcmc_tree,
data = mcmc_data,
nitt = nitt,
burnin = burnin,
thin = thin,
prior = prior)