【发布时间】:2020-12-28 18:10:38
【问题描述】:
我正在尝试循环我的多元线性回归图和摘要,但我一直在 R 中遇到错误,指出 Error: More than one expression parsed。我不确定如何解决这个问题,或者是否有更好的方法来实现我想要做的主要是:
- 绘制以
Group为颜色的多元线性回归图 - 获取基于
Group的每条线性回归线的摘要 - 计算回归摘要
- 执行方差分析以确定差异
colNames <- names(df)[c(35:39)]
for(i in colNames){
plt <- ggplot(df,
aes_string(x=df$MachineLength, y=i, fill=df$Group, color=be_nlyl$Group)) +
geom_smooth(method=lm) +
geom_point(size = 2, alpha=0.7) +
labs(title="Machine", subtitle = "Machine Type") +
theme_bw() +
theme(plot.title = element_text(hjust=0.5, face="bold"),
plot.subtitle = element_text(hjust=0.5))
print(plt)
lm_A <- lm(formula = i ~ MachineLength, data = subset(be_nlyl, Group == "A"))
summary(lm_A) %>% print()
lm_B <- lm(formula = i ~ MachineLength, data = subset(be_nlyl, Group == "B"))
summary(lm_B) %>% print()
clz.lm <- lm(formula = i ~ Group + MachineLength + Group:MachineLength, data = df)
summary(clz.lm) %>% print()
ano.lm <- Anova(lm(i ~ MachineLength*Group, data = df))
print(ano.lm)
}
有人对如何实现上述有想法吗?谢谢!
【问题讨论】:
-
j <- as.symbol(i); lm_A <- eval(bquote(lm(formula = .(j) ~ MachineLength, data = subset(df, Group == "A")))) -
您的 ggplot2
aes代码也可能不正确。从中删除df$并引用除i之外的所有变量。
标签: r loops for-loop ggplot2 regression