gpt4 book ai didi

r - LME 错误 : "Error in reStruct"

转载 作者:行者123 更新时间:2023-12-01 08:01:37 25 4
gpt4 key购买 nike

4 个 hive 配备了传感器,用于收集 hive 内的温度、湿度、压力和分贝。这些是响应变量。

治疗是wifi暴露,实验组从第1天到第20天,然后从第35-45天再次暴露在wifi下,直到第54天收集数据。n个荨麻疹= 4,收集的数据n个每个 hive 中的传感器 = ~ 百万。

我在运行混合效果模型时遇到了困难。

所有 hive 的响应变量都有一个数据框。

names(Hives)
[1] "time" "dht22_t" "dht11_t" "dht22_h"
[5] "dht11_h" "db" "pa" "treatment_hive"
[9] "wifi"

时间以“%Y-%m-%d %H:%M:%S”为单位,dht11/22_t/h 是温度和湿度数据。 “wifi”是对应于暴露时间的二分变量(1=on 0=off),治疗 hive 是暴露于wifi的 hive 的另一个二分变量(1=exposure,0=control)。

这是我得到的错误。

attach(Hives)
model2 = lme(pa_t~wifi*treatment_hive, random=time, na.action=na.omit, method="REML",)

Error in reStruct(random, REML = REML, data = NULL) :
Object must be a list or a formula

以下是代码示例:

    time    dht22_t dht11_t dht22_h dht11_h db  pa  treatment_hive  wifi
1 01/09/2014 15:19 NA NA NA NA 51.75467 NA 0 1
2 01/09/2014 15:19 30.8 31 59.8 44 55.27682 100672 0 1
3 01/09/2014 15:19 30.8 31 60.3 44 54.81995 100675 0 1
4 01/09/2014 15:19 30.8 31 60.9 44 54.14134 100671 0 1
5 01/09/2014 15:19 30.8 31 61.1 44 53.88574 100672 0 1
6 01/09/2014 15:19 30.8 31 61.2 44 53.68800 100680 0 1

R 版本 2.15.1 (2012-06-22)平台:i486-pc-linux-gnu(32位)
附包:[1] ggplot2_0.8.9 proto_0.3-9.2 reshape_0.8.4 plyr_1.7.1 nlme_3.1-104
[6] lme4_0.999999-0 Matrix_1.0-6 lattice_0.20-6

最佳答案

这里有各种各样的问题,一些与编程有关(StackOverflow)但可能是统计问题(适用于 CrossValidatedr-sig-mixed-models@r-project.org ) 更重要。

tl;dr 如果您只是想避免错误,我认为您需要 random=~1|hive (无论您的 hive-indicator 变量是什么)来适应基线响应(拦截)因荨麻疹而异的模型,但我鼓励您继续阅读...

  • 我们可以有一个(小!)reproducible example ?
  • 不要使用 attach(Hives),在 lme() 调用中使用 data=Hives(不一定是问题,但[更多] 更好的做法)
  • 只有 4 个 hive ,一个跨 hive 的随机效应规范是否会起作用有点值得怀疑(尽管有一百万个观察结果你可能会侥幸逃脱)
  • 随机效应必须由一个分类(因子)分组变量组成;在您的情况下,我认为“ hive ”是分组变量,但我无法从您的问题中分辨出哪个变量标识了 hive
  • 几乎可以肯定,您应该有一个模型来说明时间趋势和跨 hive 的时间趋势变化,即随机斜率模型,它可以表示为 formula=...~...+time , random=~time|hive(其中 ... 代表现有模型的位)
  • 您必须将时间转换为合理的值才能在模型中使用(参见 ?strptimelubridate 包),例如秒/分钟/小时从开始时间可能是最明智的。 (你的时间分辨率是多少?每个 hive 有多个传感器,在这种情况下,你应该考虑拟合传感器的随机效应吗?)
  • 拥有数百万个数据点,您的模型拟合可能会非常缓慢;您可能需要考虑 lme4
  • 拥有数百万个数据点,一切都将具有统计意义,并且对模型中未出现在数据中的方面非常敏感,例如 (1) 非线性时间趋势(例如,考虑拟合mgcv::gammgamm4 包的时间趋势); (2) 时间自相关(考虑在您的 lme 模型中添加 correlation 参数)。

关于r - LME 错误 : "Error in reStruct",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27207594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com