Земснаряд на немаркированной модели занятости (R MuMIn)

Я копаю модель незанятости без опознавательных знаков и наткнулся на несколько препятствий:

1) После первого углубления в компонент обнаружения модели я пытаюсь углубить компонент занятости модели с фиксированным подмножеством предикторов, ранее выбранных для компонента обнаружения, следующим образом:

global_occ <-occu( ~ Freq + I(Freq^2) + n  +mean_tree_d9 + mean_tree_kurt  ~ C1 + C2 + C3 + C4 + S1 + S2 + S3 + S4 + Hour + I(Hour^2) + Deg_class + Freq_fire + age + Freq + mean_tree_d9 + mean_tree_d4 + mean_tree_d2 + mean_shrub_stdev + mean_tree_kurt + mean_tree_mad, umf_all)

system.time(dredge_occ<-pdredge(global_occ, rank=AIC, m.max=5, cluster=clust, fixed=`p(Freq)`&`p(I(Freq^2))`&`p(n)`&`p(mean_tree_d9)`&`p(mean_tree_kurt)`))


> dredge_occ

Global model call: occu(formula = ~Freq + I(Freq^2) + n + mean_tree_d9 + mean_tree_kurt ~ 
    C1 + C2 + C3 + C4 + S1 + S2 + S3 + S4 + Hour + I(Hour^2) + 
        Deg_class + Freq_fire + age + Freq + mean_tree_d9 + mean_tree_d4 + 
        mean_tree_d2 + mean_shrub_stdev + mean_tree_kurt + mean_tree_mad, data = umf_all)
---
Model selection table 
   p(Int) psi(Int) p(Frq) p(I(Frq^2)) p(men_tre_d9) p(men_tre_krt)    p(n) df    logLik     AIC delta weight
31  -8.68    -1.93 -8.518      -2.439       -0.2369        -0.2295 0.07039  7 -9664.791 19343.6     0      1
Models ranked by AIC(x) 

ОБНОВЛЕНИЕ: я попытался использовать решение Камила ниже, но оно не сработало, потому что параметр «m.max» налагает универсальное ограничение (как для компонентов p, так и для psi) на максимальное количество переменных для любой отдельной модели и, следовательно, не разрешает любые пси-ковариаты, которые необходимо подобрать ...


person SilvanD    schedule 18.07.2018    source источник


Ответы (1)


?dredge говорит: fixed - это «либо односторонний formula, либо вектор символов, дающий имена терминам». В вашем случае это выражение (подходит в качестве аргумента subset). Итак, ваш код должен читать: pdredge(global_occ, rank=AIC, m.max=5, cluster=clust, fixed=c("p(Freq)", "p(I(Freq^2))", "p(n)", "p(mean_tree_d9)", "p(mean_tree_kurt)"))

person Kamil Bartoń    schedule 19.07.2018
comment
Один дополнительный вопрос: если мне нужны более сложные правила подмножества, я понимаю, что я должен использовать подмножество, а не фиксированное; однако я не совсем понимаю следующее: скажем, я хочу 'p (Freq)' во всех моделях, однако, когда появляются 'psi (C1)' и 'psi (S2)', я хочу, чтобы они отображались вместе . Как соединить две формулы? Я знаю, что следующее неверно, потому что я не хочу исправлять C1 и S1 в компоненте psi, но я просто хочу убедиться, что они появляются вместе, когда появляются. Большое спасибо. pdredge (global_occ, cluster = clust, subset = _1 _ & _ 2 _ && _ 3_) - person SilvanD; 19.07.2018
comment
subset работает так, как если бы имена терминов были логическими значениями (длиной 1, поэтому & и && дают одинаковый результат), равными TRUE, если присутствует термин модели. См. ?Logic для справки по логическим операторам в R. - person Kamil Bartoń; 20.07.2018
comment
Спасибо, Камил. И последний вопрос: знаете ли вы, почему трассировка вызовов ›1 не работает с pdredge? Выдает ошибку. Я хотел бы иметь возможность отслеживать процесс с помощью индикатора выполнения. - person SilvanD; 23.07.2018
comment
trace некорректно работает с pdredge, но в моем случае не выдает ошибки. Исправление этого есть в моем списке TODO, но не в приоритете. - person Kamil Bartoń; 23.07.2018