【发布时间】:2020-07-30 21:08:40
【问题描述】:
我正在尝试对比例数据(0 到 1 之间的数字)运行 GAM。但我收到了警告
In eval(family$initialize) : non-integer #successes in a binomial glm!
基本上,我正在模拟温暖适应物种的出现次数与温暖和寒冷适应物种的总出现次数对海面温度的影响,并使用来自另一个天气系统 (NAO) 的数据作为随机效应,以及其他三个分类、参数, 变量。
m5 <- gam(prop ~ s(SST_mean) + s(NAO, bs="re") + WarmCold + Cycle6 + Region,
family=binomial, data=DAT_WC, method = "REML")
prop = 出现的比例,WarmCold = 物种是温暖适应还是寒冷适应,Cycle6 = 6 年时间段,Region = 4 个区域之一。下面是我的数据集示例
structure(list(WarmCold = structure(c(1L, 1L, 1L, 1L, 2L, 2L), .Label = c("Cold",
"Warm"), class = "factor"), Season = structure(c(2L, 2L, 2L,
2L, 2L, 2L), .Label = c("Autumn", "Spring", "Summer", "Winter"
), class = "factor"), Region = structure(c(1L, 2L, 3L, 4L, 1L,
2L), .Label = c("OSPARII_N", "OSPARII_S", "OSPARIII_N", "OSPARIII_S"
), class = "factor"), Cycle6 = structure(c(1L, 1L, 1L, 1L, 1L,
1L), .Label = c("1990-1995", "1996-2001", "2002-2007", "2008-2013",
"2014-2019"), class = "factor"), WC.Strandings = c(18L, 10L,
0L, 3L, 5L, 25L), SST_mean = c(7.4066298185553, 7.49153086390094,
9.28247524767124, 10.8654859624361, 7.4066298185553, 7.49153086390094
), NAO = c(0.542222222222222, 0.542222222222222, 0.542222222222222,
0.542222222222222, 0.542222222222222, 0.542222222222222), AMO = c(-0.119444444444444,
-0.119444444444444, -0.119444444444444, -0.119444444444444, -0.119444444444444,
-0.119444444444444), Total.Strandings = c(23, 35, 5, 49, 23,
35), prop = c(0.782608695652174, 0.285714285714286, 0, 0.0612244897959184,
0.217391304347826, 0.714285714285714)), row.names = c(NA, 6L), class = "data.frame")
从文献(Zuur,2009)看来,二项分布最适合用于比例数据。但这似乎不起作用。它正在运行,但给出了上述警告,并且输出没有意义。我在这里做错了什么?
【问题讨论】:
标签: r data-modeling gam mgcv