【发布时间】:2019-11-27 20:23:55
【问题描述】:
我试图在 ggplot 上绘制多条 lm 线,但似乎没有一条线出现在上面。我无法对它做出正面或反面。我想绘制每条 lm 线——代表分类字段中的“中”、“高”和“低”——但甚至没有出现单一的线。有人可以指导我做错什么吗?
我已经尝试使用 geom_smooth() 和 stat_smooth() 函数以及每个函数的方法公式的不同定义,例如 (method = "lm", formula = variable ~ value) 但无济于事。
data1B = data.frame(B_1=c(561.5806, 585.9286, 597.4839), B_2=c(780.5758,
800.8750, 754.8788), B_3=c(767.4545, 771.6250, 778.6471), B_4=c(868.3448,
1062.4000, 1184.4242), data.SWASH_group=c("low", "medium", "low"))
library(dplyr)
library(reshape2)
library(ggplot2)
d <- melt(data1B, id.vars="data.SWASH_group")
View(d)
# Everything on the same plot
ggplot(d, aes(variable, value, col=variable)) + geom_smooth(method="lm")+
geom_point(aes(col=data.SWASH_group, size=2)) +
stat_smooth()
我想要达到的结果是这样的:
注意:输出更密集,因为它有更多数据点要绘制,而不是我在示例中出于娱乐目的提供的稀疏数据点。此外,图中的每条 lm 线都代表一种类型的分类变量,例如此处更具体的“高”和“低”。
【问题讨论】: