我有一个glm模型,我想选择系数具有最高p值的变量的名称。我知道如何找到最高的p值,我知道如何获取变量的数量(按照它在模型中出现的顺序),但我不知道如何实际获取变量名称。我想这样做的原因是我想创建一个循环,在每次迭代时删除具有最小有效系数的变量并重新运行模型。我会手动完成,但我的变量太多了。
答案 0 :(得分:0)
以下示例代码可能会有所帮助。此代码输出与最大P值对应的列名(也忽略截距)
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
coefficients <- coef(summary(mylogit))
maxPColumn <- rownames(coefficients)[2:nrow(coefficients)][which.max(coefficients[2:nrow(coefficients),4])]
maxPColumn