0

タブ区切り形式のデータがあり、400列近くに値が入力されています。

         X             Y         Z               A       B               C  
        2.34          .89       1.4             .92     9.40            .82
        6.45          .04       2.55            .14     1.55            .04
        1.09          .91       4.19            .16     3.19            .56
        5.87          .70       3.47            .80     2.47            .90

ここで、箱ひげ図を使用してデータを視覚化します。400を単一のodfで表示することは困難ですが、それぞれ50に分割します。つまり(50 x 8)。使用したコードは次のとおりです。

boxplot(data[1:50],xlab="Samples",xlim=c(0.001,70),log="xy", 
        pch='.',col=rainbow(ncol(data[1:50))) 

しかし、次のエラーが発生しました。

plot.window(xlim = xlim、ylim = ylim、log = log、yaxs = pars $ yaxs):非有限軸制限[GScale(-inf、4.4591,2、。); log = 1]

400個のサンプルの箱ひげ図を8つの異なるPDFでそれぞれ50個ずつ表示したいのですが....より良い視覚化を得るのを手伝ってください。

4

3 に答える 3

3

他の人は、実際の箱ひげ図がうまく機能しないことをすでに指摘しています。ただし、すべての変数を視覚的にスキャンする非常に効率的な方法があります。それらの分布を画像(つまりヒートマップ)としてプロットするだけです。これは、400個の変数と80,000個の個別のデータポイントの要点を非常に簡単に取得できることを示す例です。

# Simulate some data
set.seed(12345)
n.var = 400
n.obs = 200
data  = matrix(rnorm(n.var*n.obs), nrow=n.obs)

# Summarize data
breaks = seq(min(data), max(data), length.out=51)
histdata = apply(data, 2, function(x) hist(x, plot=F, breaks=breaks)$counts)

# Plot
dev.new(width=4, height=4)
image(1:n.var, breaks, t(histdata), xlab='Variable Index', ylab='Histogram Bin')

ここに画像の説明を入力してください

これは、すべての変数が比較可能であるか、少なくとも有理数のグループに分類されている場合に最も役立ちます。hclustまた、これらのheatmap関数は、より複雑な表示にも役立ちます。幸運を!

于 2011-11-04T03:47:27.407 に答える
2

同じグラフで400個のボックスを区別するには、少し抜本的なことをしなければならないことに同意します。以下のコードは2つのトリックを使用しています。(1)通常のxyの順序を逆にして、ラベル(y軸にプロット)を読みやすくします。(2)出力を背の高い細いPDFファイルに送信して、自由にスクロールできるようにします。また、プロットを解釈しやすくするために、変数を平均で並べ替えることを選択しました。これはオプションですが、いずれにせよ、400箱ひげ図で特定のカテゴリを検索するのは難しいと思います。 。

nc <- 400
z <- as.data.frame(matrix(rnorm(nc*100),ncol=nc))
library(ggplot2)
m <- melt(z)
m <- transform(m,variable=reorder(variable,value))
pdf(width=10,height=50,file="boxplot.pdf")
print(ggplot(m,aes(x=variable,y=value))+geom_boxplot()+coord_flip())
dev.off()
于 2011-11-03T22:57:21.247 に答える
1

箱ひげ図に400個の箱をプロットしていることを考えると、それらが表示されないことに問題はありません。幅が1024ピクセルのモニターがあるとします。アプリケーションは、ボックスを2ピクセル幅でしか表示できません。より大きな画面でも、ピクセル数をそれほど増やすことはありません(2000ピクセルの画面では、最大で5ピクセル幅のボックスが表示されます)。

ボックスを2つ以上の別々のプロットにプロットすることをお勧めします。

于 2011-11-03T22:11:19.307 に答える