相关疑难解决方法(0)

将简单的lm趋势线添加到ggplot boxplot

使用标准R图形将线性模型趋势线添加到箱线图时,我使用:

boxplot(iris[,2]~iris[,1],col="LightBlue",main="Quartile1 (Rare)")
modelQ1<-lm(iris[,2]~iris[,1])
abline(modelQ1,lwd=2)
Run Code Online (Sandbox Code Playgroud)

但是,在ggplot2中使用它时:

a <- ggplot(iris,aes(factor(iris[,1]),iris[,2]))
a + geom_boxplot() +
geom_smooth(method = "lm", se=FALSE, color="black", formula=iris[,2]~iris[,1])
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

geom_smooth: Only one unique x value each group.Maybe you want aes(group = 1)?
Run Code Online (Sandbox Code Playgroud)

这条线没有出现在我的情节中.

这两种情况中使用的模型是相同的.如果有人能指出我哪里出错了,那就太好了.

编辑:使用虹膜数据集作为示例.

r ggplot2 boxplot trendline

17
推荐指数
1
解决办法
3万
查看次数

如何在ggplot2中删除点并扩展箱线图

我有一些数据可用于构建一些箱线图,但出现此错误:

警告消息:删除了 1631 行包含非有限值 (stat_boxplot)。

没有NA值,所有数据似乎都很好。我该如何解决这个问题,因为这些在我的数据中肯定是有价值的点,应该通过胡须进行扩展?

数据

数据相当大,我无法得到更小的子样本来产生错误,所以我只会发布原始数据。

数据文件

ggplot2

dat <- readRDS("./dat.rds")
ggplot(dat, aes(x = factor(year), y = dev)) + geom_boxplot() + ylim(-40, 260)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

编辑

我能够让它在boxplot`range = 6'下工作。有没有办法在 ggplot 中做到这一点?

boxplot(dev~year, data = d, range = 6)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

r ggplot2 boxplot

1
推荐指数
1
解决办法
5890
查看次数

标签 统计

boxplot ×2

ggplot2 ×2

r ×2

trendline ×1