4

関数 rlm (MASS) は、ロバストな回帰のために M と MM の両方の推定を許可します。ggplot2 で MM ロバスト回帰からスムーザーをプロットしたいのですが、stat_smooth で method = "rlm" を選択すると、自動的に選択される推定方法が M タイプになると思います。

ggplot2 を介して rlm 関数の MM タイプ推定手法を選択する方法はありますか?

これが私のコードです:

df <-  data.frame("x"=c(119,118,144,127,78.8,98.4,108,50,74,30.4,
50,72,99,155,113,144,102,131,105,127,120,85,153,40.6,133),
"y"=c(1.56,2.17,0.81,1.07,1.12,2.03,0.90,1.48,0.64,
0.91,0.85,0.41,0.55,2.18,1.49,1.56,0.82,0.93,0.84,1.84,
0.78,1.15,3.85,3.30,0.94))      

library(ggplot2)
library(MASS)      

ggplot(df,aes(x=x,y=y))+geom_point()+
stat_smooth(method="rlm",fullrange=TRUE)+xlim(0,160)

rlm サマリー自体で結果を確認しましたが、ggplot2 が (デフォルト?) M 推定を使用していることは確かです。

rlm 関数から MM 推定を使用するにはどうすればよいですか?

rlm(formula, ...,method = "MM")

よろしくお願いします!

4

1 に答える 1

9

残念ながら、 と の両方stat_smoothにパラメーターrlmがありmethodます。それは少し難しくなります:

ggplot(df,aes(x=x,y=y)) +
  geom_point() +
  stat_smooth(method=function(formula,data,weights=weight) rlm(formula,
                                                               data,
                                                               weights=weight,
                                                                method="MM"),
              fullrange=TRUE) +
  xlim(0,160)
于 2013-07-05T11:28:52.340 に答える