Анализ данных с временной корреляцией с использованием «даты» в качестве фиксированного эффекта;вы сначала переводите в множитель или оставляете класс R в R? - PullRequest
0 голосов
/ 31 октября 2019

Суть вопроса в следующем: как вы справляетесь со временем как параметром в повторном ANOVA в R?

У меня есть повторные наблюдения за количеством растений, растущих в горшках, взятых в 3дневные, 7-дневные и 14-дневные интервалы, исходя из данных теплиц. Включение элемента времени важно, так как каждый вид растет с разной скоростью, причем некоторые очень быстро прорастают, в то время как другие занимают месяцы. Изменения в частоте опроса отражают эти изменения. Я смотрю на эффект лечения (2 уровня), видов (10 уровней) и даты (n = 4). Я контролирую вариацию с помощью банка, используя его как случайный эффект. Все это суммируется следующим уравнением:

Establishment ~ Date + Species + Treatment + (1|Pot)

Я построил быструю симуляцию своих данных и провел их через lmer. Моя путаница связана с тем, как я обращаюсь с переменной даты. Должен ли я оставить переменную даты в классе «Дата» или она должна быть учтена? Возможно, я неправильно понял литературу, но кажется, что оба могут быть использованы, но я надеюсь перейти к тому, что является наиболее подходящим.

library(tidyverse)
library(lubridate)
library(lme4)

gmean <- c(.4,.5,.6,.65) #Simulate 4 means to represent date and treatment effects
sigma_g <- .1            #Standard deviation
reps <- 30               #Replicates
nspp <- 10               #Simulated number of species
ntrt <- 2                #Simulated number of treatments
n <- nspp*reps           #Total reps for simulation

tibble(est = rnorm(n, gmean, sigma_g),
       date = rep(seq(ymd('2018-04-07'),ymd('2018-05-03'), by = '1 week'), length.out=n),
       species = rep(1:nspp, each=n/nspp),
       trt  = rep(c("control","trt"), length.out=n),
       pot_id = paste0(species,"-",trt)) %>% 
  mutate_each(funs(factor(.)),species:trt) %>% 
  glimpse() -> sim_df 

mm <- lmer(est ~ date + species + trt  + (1|pot_id), data=sim_df, REML=F)
mm.factored <- lmer(est ~ factor(date) + species + trt  + (1|pot_id), data=sim_df, REML=F)

anova(mm,mm.factored)

Data: sim_df
Models:
mm: est ~ date + species + trt + (1 | pot_id)
mm.factored: est ~ factor(date) + species + trt + (1 | pot_id)
            Df     AIC     BIC logLik deviance  Chisq Chi Df Pr(>Chisq)  
mm          14 -515.80 -463.94 271.90  -543.80                           
mm.factored 15 -518.39 -462.83 274.19  -548.39 4.5909      1    0.03214 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Мой «настоящий» набор данных имеет ближе к 6000 объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...