2017-02-28 21 views
1

ggplot2를 사용하여 플롯을 준비하고 가중치가 최소 제곱 추정에 기반한 추세선을 추가하고 싶습니다.ggplot2에 가중치가 적용된 최소 제곱 추세선 추가

는 기본 그래픽 이것은 abline에 WLS 모델을 전송하여 수행 할 수 있습니다

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

이 나를을 제공합니다 : 나는 geom_smooth에 인수 weight을 설정하지만, 아무것도 변경되지 ggplot2에

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) 

동일한 도면으로

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) 

무게 이름을 따옴표로 묶지 마십시오.