有没有办法在ggplot中添加缩小的主轴线(理想情况下还有CI)?我知道我可以使用method =“lm”来获得OLS拟合,但似乎没有默认方法用于RMA。我可以从lmodel2软件包中获取RMA系数和CI区间,但是使用geom_abline()将它们添加到图表中似乎不起作用。这里是虚拟数据和代码。我只想用RMA线和CI替换OLS线和CI:
dat <- data.frame(a=log10(rnorm(50, 30, 10)), b=log10(rnorm(50, 20, 2)))
ggplot(dat, aes(x=a, y=b) ) +
geom_point(shape=1) +
geom_smooth(method="lm")
编辑1:下面的代码获取RMA(此处称为SMA-标准化主轴)系数和CI。lmodel2包提供了更详细的输出,而smatr包仅返回系数和CI,如果有帮助的话:
library(lmodel2)
fit1 <- lmodel2(b ~ a, data=dat)
library(smatr)
fit2 <- line.cis(b, a, data=dat)
lmodel2()
代码。 - Chase