如何让 ggpmisc::stat_poly_eq() 考虑变量的权重?我在文档中没有看到包含重量的参数,因为它存在于 geom_smooth 中,如果我尝试在 aes() 中强制它,则会导致“警告:忽略未知参数:重量。” 我知道其他解决方法来打印正确的方程,如此处所示,但将它放在 stat_poly_eq() 中会更干净。有没有人知道这一点或者我错过了什么?感谢大家。
stuff<-structure(list(var = 2:31, mean = c(17026.5, 11028.6842105263,
13113.1111111111, 11087.3679395386, 9863.8664212548, 10060.676012167,
9378.01091924399, 9790.67922990444, 8569.95788246269, 8839.68511390887,
7656.50625471556, 7370.78564257028, 7939.13425925926, 7541.83192090395,
8845.67474747475, 8023.03099415205, 6373.05976190476, 6337.93259803922,
6824.79901960784, 7450.80769230769, 6651.81884057971, 5548.59722222222,
7802.78205128205, 3627.07407407407, 2471, 2248.33333333333, 1368.7,
2104.25, 742, 2097.5), n = c(2L, 19L, 150L, 419L, 1562L, 3178L,
3880L, 2965L, 4288L, 2780L, 2209L, 664L, 54L, 59L, 66L, 57L,
50L, 34L, 34L, 26L, 23L, 18L, 13L, 9L, 7L, 7L, 5L, 2L, 4L, 2L
)), .Names = c("var", "mean", "n"), row.names = c(NA, -30L), class = "data.frame")
ggplot(data=stuff, aes(x=var, y=mean))+
geom_point()+
geom_smooth(aes(weight=n), method='lm', formula = y~x)+
stat_poly_eq(aes(label=paste(..eq.label.., ..rr.label.., sep="~~~")),
formula=y~x, label.x.npc=0.8, label.y.npc=0.8,
coef.digits=3, parse=TRUE)
#currently, the equation printed in the plot does not correspond to the coefficients resulting with weigth=n
truecoeff<-lm(data=stuff, mean~var, weight=n)
truecoeff