最近,我遇到了一个问题,就是要让emmeans接受一个gamlss模型进行多重比较。这很奇怪,因为直到今天,我仍然可以将gammes模型与emmeans结合使用,但是由于某种原因,我无法使用它了。而是,当我尝试执行此操作时收到以下错误消息:
Error in match.arg(type): 'arg' should be one of "link", "response", "terms"
要尝试解决该问题,我将emmeans软件包更新为v1.4,但仍收到相同的错误消息。
survival_results_long_2 <- structure(list(Date = structure(c(17288, 17288, 17288, 17288,
17288, 17288, 17288, 17292, 17299, 17299, 17299, 17304, 17304,
17306, 17386, 17386, 17386, 17386, 17386, 17386, 17386, 17387,
17387, 17387, 17387, 17389, 17389, 17389, 17389, 17389, 17390,
17390, 17398, 17404, 17475, 17475, 17475, 17477, 17477, 17480,
17480, 17482, 17482, 17484, 17484, 17484, 17484, 17484, 17484,
17484, 17484, 17484, 17489, 17489, 17575, 17575, 17575, 17575,
17575, 17575, 17575, 17575, 17582, 17586, 17586, 17594, 17594,
17600, 17600, 17601, 17601, 17603, 17603, 17603, 17603), class = "Date"),
Year = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("17", "18"), class = "factor"),
Site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("HAN", "WAI"), class = "factor"),
Treatment = c("CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "CLO",
"CLO", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "OPE", "OPE",
"CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "CLO", "CLO",
"CLO", "CLO", "OPE", "CLO", "CLO", "OPE", "OPE", "CLO", "CLO",
"CLO", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "CLO",
"CLO", "CLO", "CLO", "OPE", "OPE"), `Module #` = c(212L,
214L, 216L, 211L, 213L, 215L, 215L, 116L, 114L, 115L, 115L,
113L, 113L, 112L, 212L, 214L, 216L, 211L, 213L, 215L, 215L,
116L, 116L, 111L, 115L, 112L, 112L, 114L, 114L, 115L, 113L,
113L, 114L, 114L, 112L, 112L, 115L, 116L, 116L, 113L, 113L,
114L, 114L, 212L, 214L, 214L, 216L, 216L, 211L, 213L, 215L,
215L, 111L, 111L, 212L, 214L, 214L, 216L, 213L, 213L, 215L,
215L, 211L, 116L, 116L, 115L, 115L, 113L, 113L, 114L, 114L,
112L, 112L, 111L, 111L), Side = c("S", "S", "N", "N", "N",
"N", "S", "S", "S", "N", "S", "N", "S", "N", "S", "S", "N",
"N", "N", "N", "S", "N", "S", "N", "N", "N", "S", "N", "S",
"S", "N", "S", "N", "S", "N", "S", "N", "N", "S", "N", "S",
"N", "S", "S", "N", "S", "N", "S", "N", "N", "N", "S", "N",
"S", "S", "N", "S", "N", "N", "S", "N", "S", "N", "N", "S",
"N", "S", "N", "S", "N", "S", "N", "S", "N", "S"), n.x = c(1L,
1L, 2L, 2L, 3L, 1L, 2L, 6L, 4L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
1L, 2L, 3L, 1L, 4L, 1L, 8L, 1L, 4L, 3L, 6L, 6L, 4L, 2L, 1L,
1L, 2L, 1L, 2L, 5L, 3L, 1L, 7L, 2L, 3L, 6L, 4L, 2L, 4L, 2L,
1L, 1L, 2L, 3L, 1L, 4L, 1L, 1L, 2L, 2L, 3L, 1L, 6L, 2L, 2L,
7L, 2L, 1L, 9L, 6L, 5L, 3L, 4L, 6L, 7L, 3L, 8L, 2L, 2L),
n.y = c(1, 1, 0, 2, 3, 1, 2, 6, 4, 1, 1, 1, 1, 1, 2, 2, 1,
2, 3, 1, 4, 1, 7, 1, 3, 3, 6, 5, 4, 2, 1, 1, 1, 0, 2, 4,
3, 1, 6, 2, 3, 5, 4, 2, 3, 2, 1, 1, 2, 3, 1, 4, 1, 1, 2,
2, 3, 1, 5, 2, 1, 6, 0, 1, 7, 5, 5, 2, 4, 4, 4, 2, 7, 2,
2), Survival_prop = c(1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.875, 1, 0.75, 1, 1, 0.833333333333333,
1, 1, 1, 1, 0.5, 0, 1, 0.8, 1, 1, 0.857142857142857, 1, 1,
0.833333333333333, 1, 1, 0.75, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0.833333333333333, 1, 0.5, 0.857142857142857,
0, 1, 0.777777777777778, 0.833333333333333, 1, 0.666666666666667,
1, 0.666666666666667, 0.571428571428571, 0.666666666666667,
0.875, 1, 1), Quarter = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4), Mortality = c(0, 0, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 2, 0,
2, 1, 0, 1, 0, 2, 3, 1, 1, 0, 0), `%_Survival` = c(100, 100,
0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 87.5, 100, 75, 100,
100, 83.3333333333333, 100, 100, 100, 100, 50, 0, 100, 80,
100, 100, 85.7142857142857, 100, 100, 83.3333333333333, 100,
100, 75, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
100, 100, 100, 83.3333333333333, 100, 50, 85.7142857142857,
0, 100, 77.7777777777778, 83.3333333333333, 100, 66.6666666666667,
100, 66.6666666666667, 57.1428571428571, 66.6666666666667,
87.5, 100, 100), Module = c(212L, 214L, 216L, 211L, 213L,
215L, 215L, 116L, 114L, 115L, 115L, 113L, 113L, 112L, 212L,
214L, 216L, 211L, 213L, 215L, 215L, 116L, 116L, 111L, 115L,
112L, 112L, 114L, 114L, 115L, 113L, 113L, 114L, 114L, 112L,
112L, 115L, 116L, 116L, 113L, 113L, 114L, 114L, 212L, 214L,
214L, 216L, 216L, 211L, 213L, 215L, 215L, 111L, 111L, 212L,
214L, 214L, 216L, 213L, 213L, 215L, 215L, 211L, 116L, 116L,
115L, 115L, 113L, 113L, 114L, 114L, 112L, 112L, 111L, 111L
), Date_new = structure(c(17378, 17378, 17378, 17378, 17378,
17378, 17378, 17382, 17389, 17389, 17389, 17394, 17394, 17396,
17476, 17476, 17476, 17476, 17476, 17476, 17476, 17477, 17477,
17477, 17477, 17479, 17479, 17479, 17479, 17479, 17480, 17480,
17488, 17494, 17565, 17565, 17565, 17567, 17567, 17570, 17570,
17572, 17572, 17574, 17574, 17574, 17574, 17574, 17574, 17574,
17574, 17574, 17579, 17579, 17665, 17665, 17665, 17665, 17665,
17665, 17665, 17665, 17672, 17676, 17676, 17684, 17684, 17690,
17690, 17691, 17691, 17693, 17693, 17693, 17693), class = "Date"),
Site_long = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Hanauma Bay", "Waikiki"
), class = "factor"), Treatment_long = structure(c(1L, 1L,
1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L), .Label = c("Closed",
"Open"), class = "factor"), Shelter = structure(c(2L, 2L,
2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L), .Label = c("High",
"Low"), class = "factor")), row.names = c(NA, -75L), groups = structure(list(
Date = structure(c(17288, 17288, 17288, 17288, 17288, 17288,
17288, 17292, 17299, 17299, 17299, 17304, 17304, 17306, 17386,
17386, 17386, 17386, 17386, 17386, 17386, 17387, 17387, 17387,
17387, 17389, 17389, 17389, 17389, 17389, 17390, 17390, 17398,
17404, 17475, 17475, 17475, 17477, 17477, 17480, 17480, 17482,
17482, 17484, 17484, 17484, 17484, 17484, 17484, 17484, 17484,
17484, 17489, 17489, 17575, 17575, 17575, 17575, 17575, 17575,
17575, 17575, 17582, 17586, 17586, 17594, 17594, 17600, 17600,
17601, 17601, 17603, 17603, 17603, 17603), class = "Date"),
Year = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("17", "18"), class = "factor"),
Site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("HAN", "WAI"), class = "factor"),
Treatment = c("CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "CLO",
"CLO", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "OPE", "OPE",
"CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "CLO", "CLO",
"CLO", "CLO", "OPE", "CLO", "CLO", "OPE", "OPE", "CLO", "CLO",
"CLO", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "CLO",
"CLO", "CLO", "CLO", "OPE", "OPE"), `Module #` = c(212L,
214L, 216L, 211L, 213L, 215L, 215L, 116L, 114L, 115L, 115L,
113L, 113L, 112L, 212L, 214L, 216L, 211L, 213L, 215L, 215L,
116L, 116L, 111L, 115L, 112L, 112L, 114L, 114L, 115L, 113L,
113L, 114L, 114L, 112L, 112L, 115L, 116L, 116L, 113L, 113L,
114L, 114L, 212L, 214L, 214L, 216L, 216L, 211L, 213L, 215L,
215L, 111L, 111L, 212L, 214L, 214L, 216L, 213L, 213L, 215L,
215L, 211L, 116L, 116L, 115L, 115L, 113L, 113L, 114L, 114L,
112L, 112L, 111L, 111L), Side = c("S", "S", "N", "N", "N",
"N", "S", "S", "S", "N", "S", "N", "S", "N", "S", "S", "N",
"N", "N", "N", "S", "N", "S", "N", "N", "N", "S", "N", "S",
"S", "N", "S", "N", "S", "N", "S", "N", "N", "S", "N", "S",
"N", "S", "S", "N", "S", "N", "S", "N", "N", "N", "S", "N",
"S", "S", "N", "S", "N", "N", "S", "N", "S", "N", "N", "S",
"N", "S", "N", "S", "N", "S", "N", "S", "N", "S"), .rows = list(
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L,
25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L,
36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L,
58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L,
69L, 70L, 71L, 72L, 73L, 74L, 75L)), row.names = c(NA,
-75L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))
# packages
library(emmeans)
library(gamlss)
library(tidyverse)
### gamlss Model
survival_results_long_2 <- survival_results_long_2 %>% mutate(Survival_prop = n.y/n.x)
survival_results_long_2$Shelter <- as.factor(survival_results_long_2$Shelter)
survival_results_long_2$Site_long <- as.factor(survival_results_long_2$Site_long)
survival_gamlss <- gamlss(Survival_prop ~ Site_long*Shelter + Side + (1|module_survival), data = survival_results_long_2, family = BEINF())
summary(survival_gamlss)
## Post Hoc Tests
emm_survival_gamlss <- emmeans(survival_gamlss,~ Site_long*Shelter)
pairs(emm_survival_gamlss, simple = "each")
我希望看到Site和Shelter组合之间的简单成对比较。但是,正如我所说,我不断收到一条持久性错误消息,我不理解也不知道如何继续。非常感谢您的投入。谢谢!