问题描述
我有 3 个重复测量的三个时间序列变量 (x,y,z)。 x 和 z 是自变量。 y 是因变量。 t 是时间变量。所有三个变量都遵循日间变化,它们在白天增加,在夜间减少。下面是模拟数据集的示例。
library(nlme)
library(tidyverse)
n <- 100
t <- seq(0,4*pi,100)
a <- 3
b <- 2
c.unif <- runif(n)
amp <- 2
datalist = list()
for(i in 1:3){
y <- 3*sin(b*t)+rnorm(n)*2
x <- 2*sin(b*t+2.5)+rnorm(n)*2
z <- 4*sin(b*t-2.5)+rnorm(n)*2
data = as_tibble(cbind(y,x,z))%>%mutate(t = 1:100)%>% mutate(replicate = i)
datalist[[i]] <- data
}
df <- do.call(rbind,datalist)
ggplot(df)+
geom_line(aes(t,x),color='red')+geom_line(aes(t,y),color='blue')+
geom_line(aes(t,z),color = 'green')+facet_wrap(~replicate,nrow = 1)+theme_bw()
我可以分别确定 y 相对于 x 和 z 的超前/滞后。这可以通过 r 中的 ccf() 函数来完成。例如
ccf(x,y)
ccf(z,y)
但我想用多元回归方法来做。例如,nlme 包和 lme
函数表明 y 和 z 对 x 产生负面影响
lme = lme(data = df,y~ x+ z,random=~1|replicate,correlation = corCAR1( form = ~ t| replicate))
(在实际数据中)x 和 z 不可能对 y 产生负面影响。
我需要时间提前/滞后,而且我想从同一模型中获得标准化系数(t 值以比较效应大小)。
是否有任何可用的多变量模型可以为我提供超前/滞后以及回归系数?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)