1

私がRでグラフ化しているこれらのタイプのグラフのいくつかのデータは、

http://graphpad.com/faq/images/1352-1(1).gif

範囲外の外れ値があり、それらを除外することはできません。plotrixからaxis.break()関数を使用しようとしましたが、関数はy軸を再スケーリングしません。軸にブレークマークを付けるだけです。これを行う目的は、両方のグループの中央値、データポイント、および外れ値をすべて1つのプロットフレームに表示できるようにすることです。基本的に、大多数から遠く離れているデータポイントはスペースのチャンクを占めており、大部分のポイントは押しつぶされており、大きな違いは示されていません。コードは次のとおりです。

https://gist.github.com/9bfb05dcecac3ecb7491

どんな提案も役に立ちます。

ありがとう

4

2 に答える 2

3

残念ながら、リンク先のコードは自己完結型ではありませんが、プロットされたセクションのみではなくデータ範囲全体をカバーするようgap.plot()に設定しているため、そこにあるコードが期待どおりに機能しない可能性があります。ylim次のプロットを検討してください。y軸にギャップがある散布図

ご覧のとおり、y軸には50 pg / mlごとに目盛りがありますが、175と425の間にギャップがあります。したがって、データ範囲(50に最も近い)はですc(0, 500)が、y軸の範囲はc(0, 250)-それだけです200と250の目盛りは、450と500の目盛りとして扱われます。

このプロットは、次の修正バージョンのコードを使用して作成されました。

## made up data
GRO.Controls <- c(25, 40:50, 60, 150)
GRO.Breast <- c(70, 80:90, 110, 500)

##Scatter plot for both groups
library(plotrix)
gap.plot(jitter(rep(0,length(GRO.Controls)),amount = 0.2), GRO.Controls,
         gap = c(175,425), xtics = -2, # no xtics visible
         ytics = seq(0, 500, by = 50),
         xlim = c(-0.5, 1.5), ylim = c(0, 250), 
         xlab = "", ylab = "Concentrations (pg/ml)", main = "GRO(P=0.0010)")
gap.plot(jitter(rep(1,length(GRO.Breast)),amount = 0.2), GRO.Breast,
         gap = c(175, 425), col = "blue", add = TRUE)

##Adds x- variable (groups) labels
mtext("Controls", side = 1, at= 0.0)
mtext("Breast Cancer", side = 1, at= 1.0)

##Adds median lines for each group
segments(-0.25, median(GRO.Controls), 0.25, median(GRO.Controls), lwd = 2.0)
segments(0.75, median(GRO.Breast), 1.25, median(GRO.Breast), lwd = 2.0, 
    col = "blue")
于 2012-09-14T19:51:41.787 に答える
2

ヘルプページgap.plot()のリンクをたどると簡単に見つかるものを使用できます。axis.breakそこに実例があります。

于 2012-09-14T18:20:07.910 に答える