0

2 行の ecdf プロットを作成し、そのうちの 1 つにエラーバーを追加したいと考えています。

私はこのコードを使用しています

x <- c(16,16,16,16,34,35,38,42,45,1,12)
xError <- c(0,1,1,1,3,3,3,4,5,1,1)
y <- c(16,1,12)

length(x)
length(xError)
length(y)

df <-  rbind(data.frame(value = x,name='x'),
             data.frame(value = y,name='y'))

ggplot(df, aes(x=value,color=name,linetype=name))+ stat_ecdf()+ geom_errorbar(aes(ymax = x + xError, ymin=x - xError))

エラーバーを x 値に追加する必要がありますが、次のエラーが発生します。

エラー: 美学は長さ 1 であるか、データと同じ長さでなければなりません問題: x + xError、x - xError

わかりません。結果は同じ長さです。

編集

問題に変更したので、簡単になりました-実際の問題はECDFプロットとエラーバーに関連していると思います。例として、次のコードを取り上げます。

x <- c(16,16,16,16,34,35,38,42,45,1,12)
xError <- c(0,1,1,1,3,3,3,4,5,1,1)
y <- c(16,1,12)

df <- data.frame(value = x)

ggplot(df, aes(x=value))+ stat_ecdf()+ geom_errorbar(aes(ymax = x + xError, ymin=x - xError))

エラーバーを出力しますが、プロットは完全に壊れています。

4

1 に答える 1

0

ここにいくつかの同様の質問があります: ecdf の信頼区間

多分それはあなたがアーカイブしたいと思うものです.

編集:

これはあなたが取得しようとするものだと思います:

dat2 <- data.frame(variable = x)
dat2 <- transform(dat2, lower = x - xError, upper = x + xError)

l <- ecdf(dat2$lower)
u <- ecdf(dat2$upper)
v <- ecdf(dat2$variable)

dat2$lower1 <- l(dat2$variable)
dat2$upper1 <- u(dat2$variable)
dat2$variable1 <- v(dat2$variable)

ggplot(dat2,aes(x = variable)) + 
  geom_step(aes(y = variable1)) + 
  geom_ribbon(aes(ymin = upper1,ymax = lower1),alpha = 0.2)
于 2015-09-03T08:23:23.867 に答える