Ror*_*haw 8 statistics r anova
我试图对同一生长季节在2个地点建造的田间试验进行一些统计分析.
在两个站点(Site,水平:HF | NW),实验设计是具有4个(n = 4)块的RCBD(Block每个水平:1 | 2 | 3 | 4 Site).有4种处理--3种不同形式的氮肥和对照(无氮肥)(Treatment水平:AN,U,IU,C).在田间试验期间,有3个不同的时期开始添加肥料,最后收获草.在这个因素下,这些时期被赋予了1 | 2 | 3的水平N_app.
有一系列测量我想测试以下零假设H0:
Treatment (H0)对测量没有影响
我特别感兴趣的两项测量是:草产量和氨排放量.
从这里Dry_tonnes_ha显示的grass yield()开始,一个很好的平衡数据集
可以使用以下代码在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")))
Run Code Online (Sandbox Code Playgroud)
我使用以下方法对此运行ANOVA:
model_1 <- aov(formula = Dry_tonnes_ha ~ Treatment * N_app + Site/Block, data = HF_NW_grass, projections = TRUE)
Run Code Online (Sandbox Code Playgroud)
我对此有一些顾虑.
首先,测试假设的最佳方法是什么?对于简单的单向ANOVA,我将使用shapiro.test()和bartlett.test()依赖变量(Dry_tonnes_ha)来评估方差的正态性和异质性.我可以在这里使用相同的方法吗?
其次,我担心这N_app是一个重复测量,因为同一测量是在3个不同时期从同一个图中获取的 - 将这种重复测量建立到模型中的最佳方法是什么?
第三,我不知道的筑巢的最佳途径Block内Site.在两个站点的水平为Block1:4.我需要Block为每个站点设置唯一级别吗?
我在这里有另一个NH3排放数据集.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")))
Run Code Online (Sandbox Code Playgroud)
为此,我有上述所有问题,并补充说数据集是不平衡的.在HF用于N_app1 n = 3的,但对于N_app2和3 n = 4时,在NWn = 4的所有N_app水平.在NF测量上只做出Treatment水平U,并IU
在NWmeasuremnts上作了Treatment水平AN,U和IU
我不知道如何应对这种复杂程度.我很想分析为两个独立的站点(N_app每个站点的时段不同可能会鼓励这种方法).我可以在这里使用iii型方差分析吗?
有人向我建议,线性混合建模方法可能是前进的方法,但我不熟悉使用它们.
我欢迎您对以上任何一点的看法.谢谢你的时间.
罗里
回答关于测试假设的最佳方法的第一个问题。虽然您尝试使用在 R 中实现的另一个统计测试是合理的,但实际上我只是将分布可视化并查看数据是否满足方差分析假设。这种方法可能看起来有些主观,但在大多数情况下确实有效。
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)
Run Code Online (Sandbox Code Playgroud)
关于你的第二个问题,即在模型中构建重复测量的最佳方法是什么:不幸的是,很难确定这样一个“最佳”模型,但根据我的知识(主要通过基因组学大数据),你可能想要使用线性混合效应模型。lme4例如,这可以通过 R 包来实现。由于您似乎已经知道如何在 R 中构建线性模型,因此应用函数应该没有问题lme4。
关于是否嵌套两个变量的第三个问题很棘手。如果我是你,我会从Site和开始Block,就好像它们是独立因素一样。但是,如果您知道它们不是独立的,则可能应该嵌套它们。
我认为你的问题和担忧是非常开放的。我的建议是,只要你有合理的理由,就继续吧。