gpt4 book ai didi

r - 带有 block 设计和重复测量的方差分析

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

我试图对在同一生长季节在 2 个地点 build 的田间试验进行一些统计分析。

在两个站点( Site ,级别:HF|NW),实验设计是具有 4 (n=4) 个块的 RCBD( Block ,每个 Site 中的级别:1|2|3|4)。
有 4 个处理 - 3 种不同形式的氮肥和一个对照(不施氮肥)(Treatment,水平:AN、U、IU、C)。
在田间试验期间,有 3 个不同的时期,从添加肥料开始到收割草结束。这些时期在因子 N_app 下被赋予了水平 1|2|3 .

我想测试以下零假设 H0 的一系列测量值:
Treatment (H0) 对测量没有影响

我特别感兴趣的两个测量值是:草产量和氨排放量。

从草产量 ( Dry_tonnes_ha ) 开始
显示 here, a nice balanced data set

可以使用以下代码在 R 中下载数据:

library(tidyverse)

download.file('https://www.dropbox.com/s/w5ramntwdgpn0e3/HF_NW_grass_yield_data.csv?raw=1', destfile = "HF_NW_grass_yield_data.csv", method = "auto")
raw_data <- read.csv("HF_NW_grass_yield_data.csv", stringsAsFactors = FALSE)

HF_NW_grass <- raw_data %>% mutate_at(vars(Site, N_app, Block, Plot, Treatment), as.factor) %>%
mutate(Date = as.Date(Date, format = "%d/%m/%Y"),
Treatment = factor(Treatment, levels = c("AN", "U", "IU", "C")))

我尝试使用以下方法对此运行方差分析:
model_1 <- aov(formula = Dry_tonnes_ha ~ Treatment * N_app + Site/Block, data = HF_NW_grass, projections = TRUE)

我对此有一些担忧。

首先,检验假设的最佳方法是什么?对于简单的单向方差分析,我会使用 shapiro.test()bartlett.test()在因变量 ( Dry_tonnes_ha ) 上评估方差的正态性和异质性。我可以在这里使用相同的方法吗?

其次,我担心的是 N_app是重复测量,因为相同的测量是从 3 个不同时期的同一图中进行的 - 将这种重复测量构建到模型中的最佳方法是什么?

第三,我不确定最好的嵌套方式 BlockSite .在两个站点的级别 Block是 1:4。我需要有唯一的 Block每个站点的级别?

我有 another data set for NH3 emissions here . R代码下载:
download.file('https://www.dropbox.com/s/0ax16x95m2z3fb5/HF_NW_NH3_emissions.csv?raw=1', destfile = "HF_NW_NH3_emissions.csv", method = "auto")
raw_data_1 <- read.csv("HF_NW_NH3_emissions.csv", stringsAsFactors = FALSE)

HF_NW_NH3 <- raw_data_1 %>% mutate_at(vars(Site, N_app, Block, Plot, Treatment), as.factor) %>%
mutate(Treatment = factor(Treatment, levels = c("AN", "U", "IU", "C")))

为此,我有上述所有担忧,另外还有数据集不平衡。
HFN_app 1 n=3,但对于 N_app 2 & 3 n=4
NW所有 n=4 N_app水平。
NF仅在 Treatment 上进行了测量级别 UIUNW测量是在 Treatment 上进行的级别 AN , UIU
我不确定如何处理这种增加的复杂性。我很想只分析 2 个单独的站点(每个站点的 N_app 句点都不相同的事实可能会鼓励这种方法)。
我可以在这里使用类型 iii 的平方和方差分析吗?

有人向我建议,线性混合建模方法可能是前进的方向,但我不熟悉使用这些方法。

我欢迎您对上述任何内容的想法。谢谢你的时间。

罗里

最佳答案

回答关于测试假设的最佳方法的第一个问题。虽然您尝试使用在 R 中实现的另一个统计测试是合理的,但我实际上只是可视化分布并查看数据是否满足方差分析假设。这种方法可能看起来有些主观,但在大多数情况下确实有效。

  • 独立同分布(i.i.d)数据:这个问题你可能已经有了答案,这取决于你对数据的了解程度。可以使用卡方检验来确定独立性(或不独立性)。
  • 正态分布数据:使用直方图/QQ图进行检查。基于分布,我认为使用 aov 是合理的尽管略有双峰分布。

  • (似乎对数转换有助于进一步满足正态性假设。这是您可以考虑的事情,尤其是对于下游分析。)
    par(mfrow=c(2,2))
    plot(density(HF_NW_grass$Dry_tonnes_ha), col="red", main="Density")
    qqnorm(HF_NW_grass$Dry_tonnes_ha, col="red", main="qqplot")
    qqline(HF_NW_grass$Dry_tonnes_ha)

    DTH_trans <- log10(HF_NW_grass$Dry_tonnes_ha)
    plot(density(DTH_trans), col="blue", main="transformed density")
    qqnorm(DTH_trans, col="blue", main="transformed density")
    qqline(DTH_trans)

    关于在模型中构建重复测量的最佳方法是什么的第二个问题:不幸的是,很难确定这样一个“最佳”模型,但根据我的知识(主要是通过基因组学大数据),您可能想要使用线性混合效应模型。这可以通过 lme4 实现R 包,例如。既然您似乎已经知道如何在 R 中构建线性模型,那么应用 lme4 应该没有问题。职能。

    关于是否嵌套两个变量的第三个问题很棘手。如果我是你,我会从 Site 开始和 Block好像它们是独立的因素。但是,如果您知道它们不是独立的,您可能应该嵌套它们。

    我认为你的问题和担忧是非常开放的。我的建议是,只要您有合理的理由,就继续前进。

    关于r - 带有 block 设计和重复测量的方差分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41809073/

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