如何使用R进行逻辑回归测试偏离有序分类变量的线性趋势?

时间:2016-02-03 00:35:27

标签: r

我测试了有序分类自变量中二元结果的对数几率的线性趋势。通过将自变量视为连续变量,可以直接实现这一点。

我也试图测试偏离线性趋势。我理解这是关于比较(a)自变量是分类的模型与(b)自变量被视为连续的模型。但是我不确定如何在R中这样做。

有人可以帮忙吗?

我在下面创建了一个可重复的示例。前7行只是创建一个数据集。 model1将自变量视为分类变量; model2为连续。

model2提供了强有力的证据,证明线性趋势比没有趋势更好地解释趋势,但在这种情况下,线性趋势显然不是一个很好的解释。

# create dataset 'a'

n <- 200
ngroups <- 7
a <- data.frame(group = rep(letters[1:ngroups], n), group2 = rep(1: ngroups, n), n = runif(n * ngroups, 0, 1))
y <- data.frame(group = letters[1:ngroups], fac = 1/(1 + exp(-1 * 1:ngroups)))
a <- merge(a, y, by = "group")
a$n2 <- a$n * a$fac
a$ind <- ifelse(a$n2 > quantile(a$n2)[4], 1, 0)

# run models

model1 <- glm(ind ~ group, data = a, family = "quasibinomial")
model2 <- glm(ind ~ group2, data = a, family = "quasibinomial") 

1 个答案:

答案 0 :(得分:0)

回答我自己的问题......

您进行似然比检验以比较两种模型:

anova(model1, model2, test = "LRT")

这可能会给出较低的p值,表明模型是不同的,并且有证据表明非线性趋势比线性趋势更适合数据。