我想为多个不同的暴露变量建立回归模型,并使用rms
函数Predict
和summary.rms
显示结果(以显示20和80百分位数之间的差异) rms
包中的
library(rms)
# for datadist, ols, summary and predict
exp.var <- names(iris[,c(2:3)])
ddist <- datadist(iris); options(datadist="ddist")
for (exp in exp.var) {
mod <- ols(formula(paste("Sepal.Length ~ Petal.Width + ", exp, sep="")), data=iris)
#p.mod <- Predict(mod, name=exp)
summary(mod, exp=quantile(iris[,exp], probs=c(0.2, 0.8)))
}
Predict
的第一个问题已在previous question中得到解决,但是summary.rms
仍然会导致错误消息:
Error in summary.rms(mod, exp = quantile(iris[, exp], probs = c(0.2, 0.8))):
factor name(s) not in the design: exp
当我替换变量(例如exp="Petal.Length"
)时,它没有问题:
summary(mod, Petal.Length=quantile(iris[,exp], probs=c(0.2, 0.8)))
是否可以将exp
作为变量传递给summary.rms
?