Ada*_*amm 2 statistics r anova manova
我有一个小任务要做,不幸的是我不熟悉这个统计领域......实际上我确实需要计算(我不是在寻找现成的解决方案),但是我不知道它们是否\是正确的,也是我的思维方式,因此,如果您看一下并指出我的错误,我将非常感激。
\n\n这是假数据,显示了狗和猫的增长率(完全是虚构的):
\n\ntime <- c(1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10)\na <- rep(\'dog\', 10)\nb <- rep(\'cat\', 10)\nanimal <- c(a,b)\nval <- c(2.00,8.00,17.00,21.00,29.00,37.00,41.00,56.00,67.00,82.00,1.00,3.00,6.00,8.00,11.00,15.00,21.00,26.00,31.00,37.00)\ndata <- data.frame(time,animal,val)\nRun Code Online (Sandbox Code Playgroud)\n\n细看:
\n\nrequire(ggplot2)\nggplot(data, aes(time, val, color=animal)) +\n stat_summary(fun.data=mean_se, geom="pointrange") +\n geom_point()\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n正如你所见,狗比猫长得快——这可能是我的假设。但是我需要做一些统计来证实它。
\n\n所以我决定进行生长曲线分析(GCA)。\n我是根据这个教程来的。下面是我的结果和简要说明。
\n\n首先,我制作了一个基本模型,对每只动物进行随机截距:
\n\nm.base <- lmer(val ~ time + (1 | animal), data=data, REML = F)\nRun Code Online (Sandbox Code Playgroud)\n\n这里我遇到了问题,实际上我在这里没有任何固定效应,我的数据集很简单,我想知道的是我的两组(狗和猫)的时间增长率在统计上显着不同。\ n换句话说。\n这段时间动物的生长速度有变化吗?
\n\n因此我把我的动物作为额外的固定效果:
\n\nm.1 <- lmer(val ~ time * animal + (1 | animal), data=data, REML = F)\nRun Code Online (Sandbox Code Playgroud)\n\n现在,为了检查是否存在统计上的显着差异,我使用方差分析比较了两个模型。
\n\n > anova(m.base,m.1)\nData: data\nModels:\nm.base: val ~ time + (1 | animal)\nm.1: val ~ time * animal + (1 | animal)\n Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq) \nm.base 4 151.43 155.41 -71.714 143.43 \nm.1 6 116.29 122.26 -52.145 104.29 39.138 2 3.171e-09 ***\n---\nSignif. codes: 0 \xe2\x80\x98***\xe2\x80\x99 0.001 \xe2\x80\x98**\xe2\x80\x99 0.01 \xe2\x80\x98*\xe2\x80\x99 0.05 \xe2\x80\x98.\xe2\x80\x99 0.1 \xe2\x80\x98 \xe2\x80\x99 1\nRun Code Online (Sandbox Code Playgroud)\n\n现在我很困惑,我不完全理解所有这些分析,几个问题......
\n\n这个值3.171e-09表明我的组的增长率差异具有统计显着性?
\n\n我可以制作另一个模型吗:
\n\nm.0 <- lmer(val ~ time + animal + (1 | animal), data=data, REML = F)\nRun Code Online (Sandbox Code Playgroud)\n\n然后进行模型测试?
\n\n> anova(m.base,m.0,m.1)\nData: data\nModels:\nm.base: val ~ time + (1 | animal)\nm.0: val ~ time + animal + (1 | animal)\nm.1: val ~ time * animal + (1 | animal)\n Df AIC BIC logLik deviance Chisq Chi Df Pr(>Chisq) \nm.base 4 151.43 155.41 -71.714 143.43 \nm.0 5 145.58 150.56 -67.789 135.58 7.8499 1 0.005082 ** \nm.1 6 116.29 122.26 -52.145 104.29 31.2884 1 2.224e-08 ***\n---\nSignif. codes: 0 \xe2\x80\x98***\xe2\x80\x99 0.001 \xe2\x80\x98**\xe2\x80\x99 0.01 \xe2\x80\x98*\xe2\x80\x99 0.05 \xe2\x80\x98.\xe2\x80\x99 0.1 \xe2\x80\x98 \xe2\x80\x99 1\nRun Code Online (Sandbox Code Playgroud)\n\n哪个值可以让我证实我的假设?
\n\n我将非常感谢指出我的错误、任何线索和解释!
\n我假设每个数据点都来自不同的动物。如果您只有两种动物的数据,则只能比较这两种动物,而无法推断出有关这两个种群的任何信息。如果您有来自多种动物的数据,但每只动物都被重复测量,那么您确实需要一个混合效应模型。但根据我上面的假设,你不需要它。
您现在可以使用来自特定领域理论的参数模型并使用nlme::gnls. 该函数基本上适合非线性模型,其中参数是其他一些变量(在您的情况下是动物类型)的线性模型。然后可以测试这些线性模型的参数的显着性,该summary方法可以为您做到这一点。如果您有重复的测量,nlme::nlme请将其扩展到混合效应模型。
另一种方法是非参数模型:
library(mgcv)
mod1 <- gam(val ~ s(time, k = 4), data = data, select = TRUE)
mod2 <- gam(val ~ animal + s(time, k = 4, by = animal), data = data, select = TRUE)
#we need the parametric effect because smoothers are centered
#compare both models, not sure which test is more appropriate,
#let's just do both Chisq and F
anova(mod1, mod2, test = "Chisq")
anova(mod1, mod2, test = "F")
#significant difference between animal types
#plots show which one grows faster
gam.check(mod2)
plot(mod2)
summary(mod2)
Run Code Online (Sandbox Code Playgroud)
如果需要的话,这也可以扩展到混合效应模型。