我的主要问题是如何为以下抽样设计创建排列设计: 数据是在灌木丛下和附近、灌木丛影响之外收集的。我们称其为“对”(df$pair); 选择了三种不同的灌木种类,我们预计每种灌木的反应会有所不同。例如,灌木 1 将增加响应变量,而灌木 2 不会改变,灌木 3 将减少。 (我们不感兴趣每个灌木之间的特定条件下的响应是否发生变化,例如灌木 1 下与灌木 2 外的比较)。我不确定是否应该将灌木种类(灌木或condition_shrub)作为烫发设计中的“块”包含在内。
该假设正在使用 mvabund 包通过多元 glm 进行测试。
排列数据与此类似:
df <- data.frame(
pair = rep(1:30, each = 2),
condition = rep(c("under", "outside"), times = 10),
shrub = rep(c("shrub1", "shurb2", "shrub3"), each = 20),
condition_shrub = c(
rep(c(rep("shrub1", 1), "outside"), times = 10),
rep(c(rep("shrub2", 1), "outside"), times = 10),
rep(c(rep("shrub3", 1), "outside"), times = 10)
)
)
到目前为止,我想出了这个解决方案,但我不确定这是否正确来检验我们的假设。
我开始构建这样的模型:
model <- manyglm(response ~ shrub*pair,
family = negative.binomial, data = df)
但是,我意识到,通过这种方式,我可以测试灌木内的条件是否相互变化(例如灌木1下的条件和灌木3外的vc条件)。
所以我想出了另一个似乎更有意义的模型:
model <- manyglm(response ~ condition_shrub,
family = negative.binomial, data = df).
通过这种方式,我将
outside
条件视为因子水平(以及所有三种灌木物种)。
perm.ctrl <- how(
within=Within(type="free"),
plots = Plots(strata = df$pair, type = "free"),
blocks = df$shrub,
nperm = 9999)
我知道,通过这种设计,排列总是发生在每种灌木类型内(和外部),并且配对结构被保留。有人可以指导我完成这个吗?
但是,在我看来,我可以忽略配对抽样设计,并允许在“condition_shrub”这种情况下进行自由排列,以测试假设每个物种之间和外部的响应是否有所不同;也就是说,灌木丛外的响应将始终相同,但如果在其中一棵灌木下,则会发生变化。
提前致谢。
您要测试的是
shrub
,因此您需要随机排列 pair
变量。这将生成 shrub
没有影响的零假设,因为在这个假设下,如果我们将 shrub1
的观测值对与 shrub2
或 shrub3
的观测值对以及 shrub
的值混合,应该没有关系。仅在 pair
级别发生变化 - 它不会在 pair
内发生变化。因此,为了使其成为有效的测试,我们需要保持每个pair
的固定(未排列)样本(下方样本与外部样本)。所以我认为你需要:
model <- manyglm(response ~ shrub, family = negative.binomial, data = df)
h <- with(
df,
how(
within = Within(type = "none"),
plots = Plots(strata = pair, type = "free"),
nperm = 999
)
因为我们将每个
pair
内的观测值保持固定,所以我们不将由于 H0 下的检验统计量的排列分布中的内部与外部引起的变化包括在内。
相反,如果您对 under verse outside 的比较感兴趣,您只想在 within 和 pair
之间排列样本,而不是在对之间排列样本。您可以使用以下方法实现此目的:
model <- manyglm(response ~ condition * shrub,
family = negative.binomial, data = df)
h <- with(
df,
how(
within = Within(type = "free"),
blocks = shrub, # not needed but won't hurt
plots = Plots(strata = pair, type = "none"),
nperm = 999
)
在这里,我们可能想要考虑灌木之间的差异以及每个
condition
潜在不同的
shrub
效果,因此我使用了模型规范。另请注意,我已阻止 shrub
;在这种情况下,我认为这是没有必要的,因为您已经对 pair
进行了独特的编码。如果您将 pair
编码为 pair1
、pair2
、... pair10
,这样我们每个灌木都有 pair1
,我们需要阻止 shrub
来停止样本在 shrub
之间交换,这是不合适的。