8

私は2列の行列を持っています。これらの各列の箱ひげ図を作成したいのですが、それぞれのエントリ数が異なります。

たとえば、最初の列には 10 個のエントリがあり、2 番目の列には 7 個のエントリがあります。2 番目の列の残りの 3 にはゼロが与えられます。

比較のために、これらを並べてプロットしたいと思います。

Rに列1全体と列2の最初の7エントリのみをボックスプロットするように指示する方法はありますか?

4

2 に答える 2

3

任意の数の列と任意の数の空のエントリに対して、このようにすることができます。

## Load data from CSV; first row contains column headers
dat <- read.csv( 'your-filename.csv', header = T )

## Set plot region (when set 'ylim' skip first row with headers)
plot(
  1, 1, 
  xlim=c(1,ncol(dat)), ylim=range(dat[-1,], na.rm=T), 
  xaxt='n', xlab='', ylab=''
)
axis(1, labels=colnames(dat), at=1:ncol(dat))

for(i in 1:ncol(dat)) {
  ## Get i-th column
  p <- dat[,i]

  ## Remove 0 values from column
  p <- p[! p %in% 0]
  ## Instead of 0 you can use any values
  ## For example, you can remove 1, 2, 3
  ##   p <- p[! p %in% c(1,2,3)]

  ## Draw boxplot
  boxplot(p, add=T, at=i)
}

このコードは、表形式の CSV ファイルをロードし、列から 0 の値を削除 (または他の値を削除できます) し、1 つのグラフィック内のすべての列のすべての箱ひげ図を描画します。

これが役立つと考えています。

于 2014-01-23T00:38:25.983 に答える