3

私は現在、自分のニーズに合わせて提供されたいくつかの R コードを変更する作業を行っています。

状況は次のとおりです。

〜200行をプロットしています。次に、LOWESS を使用して最適な曲線を取得しました。

現在、次のようになっています。

lines(lowess(x.lowess, y.lowess), lwd = 3)

ここで、x.lowess と y.lowess は対応する座標で、それぞれ次のようなベクトルです。

> dput(x.lowess)
c(0.268309377138946, 0.511978097193703, 0.785763175906913, 0.974674880219028, ... )
> dput(y.lowess)
c(0.8, 0.5, 0.8, 0.5, ... )

現在、LOWESS の最適な曲線ではなく、実行中の中央値曲線を取得しようとしています。

これを行うための簡単な方法/機能はありますか?

プロットの例については、flickr でこれを参照してください (申し訳ありませんが、直接アップロードできませんでした。私はここに新しく、許可されていません :) 赤色の lowess 平滑化曲線のプロット

4

1 に答える 1

2

いくつかのサンプル データを生成します。

set.seed(1001)
x <- runif(1000)
y <- runif(1000)
dat <- data.frame(x,y)

パッケージを使用してquantreg、x の関数として中央値を見つけます。

library(quantreg)
q1 <- rq(y~x,data=data.frame(x,y))
xvec <- seq(0,1,length=101)
pq <- predict(q1,newdata=data.frame(x=xvec))

ベース グラフィックスを描画します。

plot(x,y,pch=".")
lines(lowess(x,y))
lines(xvec,pq,col=2)

または使用ggplot2

library(ggplot2)
theme_set(theme_bw())
qplot(x,y,data=dat,size=I(0.8),alpha=I(0.2))+
    geom_smooth(method="loess")+
    stat_quantile(quantiles=0.5,formula=y~x,colour="red")
于 2013-01-20T21:51:25.850 に答える