2017-02-28 78 views
1

我正在使用ggplot2準備一個圖,我想添加一個基於加權最小二乘估計的趨勢線。在ggplot2中添加加權最小平方趨勢線

在基地的圖形,這可以通過發送一個WLS模型做abline

mod0 <- lm(ds$dMNP~ds$MNP) 
mod1 <- lm(ds$dMNP~ds$MNP, weights = ds$Asset) 

symbols(ds$dMNP~ds$MNP, circles=ds$r, inches=0.35) 
#abline(mod0) 
abline(mod1) 

在GGPLOT2我設定的參數weightgeom_smooth但沒有任何變化:

ggplot(ds, aes(x=MNP, y=dMNP, size=Asset) + 
    geom_point(shape=21) + 
    geom_smooth(method = "lm", weight="Asset", color="black", show.legend = FALSE) 

這給了我同樣的陰謀作爲

ggplot(ds, aes(x=MNP, y=dMNP, size=Asset) + 
    geom_point(shape=21) + 
    geom_smooth(method = "lm", color="black", show.legend = FALSE) 
+0

您可以將此調整爲內置數據集以獲得重現性嗎? –

+4

你可以在'aes'中放置'weight','geom_smooth'將使用它 –

回答

1

我來晚了,但對子孫後代和清晰度,這裏是完整的解決方案:

ggplot(ds, aes(x = MNP, y = dMNP, size = Asset) + 
    geom_point(shape = 21) + 
    geom_smooth(method = "lm", mapping = aes(weight = Asset), 
       color = "black", show.legend = FALSE) 

不要把重量在引號。