boxplot
のようなウィスカーの端に垂線を自動的に付けることができます。ボックスプラットにウィスカーの端を入れて
答えて
ウィスカーの端を計算するのにstat_boxplot
を使用することは可能かもしれませんが、私はggplot2
ウィザードでは不十分です。そのために基本関数を使用します。
set.seed(42)
df <- data.frame(cond = factor(rep(c("A","B"), each=500)),
value = c(rnorm(500,mean=1,sd=0.2),rnorm(500, mean=1.5,sd=0.1)))
whisk <- function(df,cond_col=1,val_col=2) {
require(reshape2)
condname <- names(df)[cond_col]
names(df)[cond_col] <- "cond"
names(df)[val_col] <- "value"
b <- boxplot(value~cond,data=df,plot=FALSE)
df2 <- cbind(as.data.frame(b$stats),c("min","lq","m","uq","max"))
names(df2) <- c(levels(df$cond),"pos")
df2 <- melt(df2,id="pos",variable.name="cond")
df2 <- dcast(df2,cond~pos)
names(df2)[1] <- condname
df2
}
library(ggplot2)
plot1 <- ggplot(df, aes(x=cond))
plot1 <- plot1 + geom_errorbar(aes(ymin=min,ymax=max),data=whisk(df),width = 0.5)
plot1 <- plot1 + geom_boxplot(aes(y=value))
plot1
ほのめかしたが、@Rolandによって実装されていないとして、あなたはこれを実装するためにstat_boxplot
を使用することができます。トリックは_boxplot
を2回呼び出し、いずれかのコールに対してgeom
をerrorbar
に設定します。
R
はペンとペーパーのアプローチを使用しているため、最初にエラーバーを実装することをお勧めします。従来のボックスプロットを上に描画します。ローランドのダミーデータdf
ggplot(df, aes(x=cond, y = value)) +
stat_boxplot(geom ='errorbar') +
geom_boxplot() # shorthand for stat_boxplot(geom='boxplot')
@stat_boxplot
のヘルプを使用して
(?stat_boxplot
)詳細我々はできるウィスカー行のサイズを変更するにはdata.frame
これを説明する時間をとってくれてありがとう! :) – gaelgarcia
'geom_boxplot(width = .2)'を使うと、どのようにこれらのウィスカーラインのサイズを変更できますか? – Produnis
@ Produnisウィスカー行のサイズを変更するには、関数 'stat_boxplot'の中に引数' stat_params = list(width = 0.5) 'を追加します。私の答えにその結果を見てください。 – mpalanco
に計算され、保存された様々な値関数内で引数width = 0.5
を使用します。stat_boxplot
set.seed(42)
df <- data.frame(cond = factor(rep(c("A", "B"), each = 500)),
value = c(rnorm(500, mean = 1, sd = 0.2),
rnorm(500, mean = 1.5, sd = 0.1)))
library(ggplot2)
ggplot(df, aes(x = cond, y = value)) +
stat_boxplot(geom = "errorbar", width = 0.5) +
geom_boxplot()
- 1. ボックスウィスカープロットのウィスカーを除去する
- 2. radare2デバッグ中に入力端子を別の端末にリダイレクト
- 3. r/sciplot:lineplot.CIのウィスカーが重複する
- 4. Pythonプログラムを端末に入力して端末から出力する方法
- 5. ssh端末挿入端末プログラム名
- 6. jquery端末でグリーティングが入力されているときに端末プロンプトを非表示にする
- 7. 希薄化曲線にCIウィスカーを追加する方法
- 8. キーボード入力はどのように端末に入力されますか?
- 9. R内の複数boxplotのウィスカー長を変更する
- 10. なぜユーザーからの入力が端末にエコーされていますか?
- 11. 端末からの入力を読む
- 12. Matplotlibのボックスプロットのボックスのウィスカー長を明示的に設定します
- 13. Rのウィスカーの最小値と最大値をボックスプロットのアウトライアーにしますか?
- 14. 入力が極端に遅いイオニックページ
- 15. gnuplot端末に入力しない
- 16. getpassを使用して端末のユーザー入力を隠す
- 17. process.stdinを使用してnodejsの端末からの動的入力を受け入れる際の問題
- 18. 5番目と95番目のウィスカーとsglot?
- 19. Linux端末入力:4095文字制限で端末を切り捨てる端末からユーザ入力を読み取る
- 20. 携帯端末の入手方法
- 21. どのようにRウィスカーのテンプレートエンジンを使用して改行と番号付きリストを生成する
- 22. 入力を止められず、スクリプトの中途半端にループする
- 23. オブジェクト指向のmatplotlibを使用するとウィスカーやメジアンのないボックスプロットが奇妙に生成される
- 24. pythonスクリプトを使用して端末コマンドを入力する
- 25. 入力中にLinux端末のキーワードの色を変更する
- 26. 私の端末で私の入力を隠すには?
- 27. VIM:検索の端から離れて
- 28. Pythonの入力行はキーボードの入力を得られません - 代わりに端末の種類
- 29. C++プログラムのランタイム中に端末から入力を取得
- 30. mac端末の挿入画面を終了するには
あなたはggplotは、線を描画する分位数を計算し、あなた自身の 'geom_segment'または' geom_crossbar'を描画することによってこれを行うことができます。 [この質問を参照してください](http://stats.stackexchange.com/questions/8137/how-to-add-horizontal-lines-to-ggplot2-boxplot) – Justin
ggplot2でこれを行う必要がある理由はありますか?あなたが望むものをすでに行っている 'boxplot'を使わない、あるいは純粋に学問的興味のこの質問ですか? –
@Justinありがとう、私はその質問をチェックアウトしたが、それは私のために進んでいると私はエラーを取得し続けて、私は何を交換するか分からない、ごめんなさい:/ – user1762299