【发布时间】:2021-02-01 19:12:29
【问题描述】:
我对 R 比较陌生,我想对我的数据集进行多变量和单变量分析
我有 32 个因变量和 4 个自变量都排列在列中。我想做多变量分析,告诉我哪些自变量对我的蛋白质有显着影响。然后我想对每种蛋白质进行单变量分析,看看哪个 IV 对每种蛋白质很重要。我希望这类似于 SPSS 中的多变量分析,例如:
model <- glm(df[,c(9:40]~df[,c(4:8)], family="poisson", data=df)
有没有办法在 R 中做到这一点?
这就是我想做的单变量分析
model_univariate <- glm(Protein1 ~ age + bmi+ gender+ group, family="poisson", data=data)
我尝试做一个for循环来尝试,所以我不必为每种蛋白质一个一个地输入公式,但我一直收到错误
IV <- df[,c(4:8)]
DV <-df[,c(9:40)]
for (y in DV){
form <- formula(paste(y, "~", IV))
models[[y]] <- glm(form, data = df, family="poisson")
}
错误消息:terms.formula(formula, data = data) 中的错误: 模型公式中的无效项
【问题讨论】:
-
mcglmpackage 适合 R 中的多元 glms。您还可以使用rstanarm拟合贝叶斯多元响应模型。rstanarm在后台使用stan。stanmanual 有关于 stan 中贝叶斯多元响应模型的更多信息。
标签: r statistics glm