Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GLM后改变事后对比中的因素顺序,分类数据与交互,在R_R_Interaction - Fatal编程技术网

如何在GLM后改变事后对比中的因素顺序,分类数据与交互,在R

如何在GLM后改变事后对比中的因素顺序,分类数据与交互,在R,r,interaction,R,Interaction,我有一个包含两个预测变量的多元列联表:tmt(2个级别)和年份(4个级别)以及一个响应变量,即物种存在的数量(n个图中的数量)(succ) 数据(testsum): 在创建了成功和失败的矢量之后 resp<-cbind(testsumm$succ, testsumm$n-testsumm$succ) 很明显,这两个矩阵的形状不一样,所以它们不能相乘,但我不知道它们应该是什么样子。有谁能帮助我在每年的两个治疗水平之间,而不是在每个治疗水平的年份之间,创建对比 multcomp在存在多个因素

我有一个包含两个预测变量的多元列联表:tmt(2个级别)和年份(4个级别)以及一个响应变量,即物种存在的数量(n个图中的数量)(succ)

数据(testsum):

在创建了成功和失败的矢量之后

resp<-cbind(testsumm$succ, testsumm$n-testsumm$succ)

很明显,这两个矩阵的形状不一样,所以它们不能相乘,但我不知道它们应该是什么样子。有谁能帮助我在每年的两个治疗水平之间,而不是在每个治疗水平的年份之间,创建对比

multcomp在存在多个因素时并不容易。但是,lsmeans包提供了一种指定所需内容的替代方法

library(lsmeans)
glht(model2, lsm(~ tmt | year))

当然可以节省大量的打字

我调查过的其他问题/答案中没有一个建议这个完美的方案!当然,这是解决方案——谢谢。如果这是解决方案,接受它作为答案。信用是应得的,它帮助其他人找到答案。
model<-glm(resp~year*tmt, family=binomial,data=testsumm)
temp <- expand.grid(year = unique(testsumm$year),tmt = unique(testsumm$tmt))
X1 <- model.matrix(~ tmt * year, data = temp)
glht(model, linfct = X1)
Tukey <- contrMat(table(testsumm$year), "Tukey")
K1 <- cbind(Tukey, matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)))
rownames(K1) <- paste(levels(testsumm$tmt)[1], rownames(K1), sep = ":")
K2 <- cbind(matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)), Tukey)
rownames(K2) <- paste(levels(testsumm$tmt)[2], rownames(K2), sep = ":")
K <- rbind(K1, K2)
colnames(K) <- c(colnames(Tukey), colnames(Tukey))
summary(glht(modintILAQ, linfct = K %*% X1))
model2 <- glm(resp ~ tmt * year, family=binomial,data = testsumm)
summary(model2)
temp2 <- expand.grid(tmt = unique(testsumm$tmt),year =unique(testsumm$year))
X12 <- model.matrix(~ tmt * year, data = temp2)
glht(model2, linfct = X12)
Tukey <- contrMat(table(testsumm$tmt), "Tukey")
    K1 <- cbind(Tukey, matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)))
    rownames(K1) <- paste(levels(testsumm$year)[1], rownames(K1), sep = ":")
K2 <- cbind(matrix(0, nrow = nrow(Tukey), ncol = ncol(Tukey)), Tukey)
rownames(K2) <- paste(levels(testsumm$year)[2], rownames(K2), sep = ":")
K <- rbind(K1, K2)
colnames(K) <- c(colnames(Tukey), colnames(Tukey))
summary(glht(model2, linfct = K %*% X1))
    Error in K %*% X1 : non-conformable arguments
library(lsmeans)
glht(model2, lsm(~ tmt | year))