2016-11-20 15 views
-1

私は以下のデータを持っていますenter image description here複数の列をboxplotにスライスする方法は?

私は次のコマンドで1つの列をプロットしようとしました。しかし、いくつかの列をプロットしようとすると、コマンドは

#this works but only for one column boxplot(as.numeric(new[[2]]), horizontal = T, col = "lightblue", notch = T, main="Heart Failure Mortality")

#does not work, I am trying to get the first 3 columns boxplot(as.numeric(new[[c(1:3)]]))

+0

スクリーンショットはそれほど有用ではない、このデータフレームの4つの数値列の箱ひげ図を示します。 'dput(head(new、10))'を使って、最小完全再現可能な例をダンプしてください(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-例)。 *「うまくいきません」と言われたときは、あなたが得るエラーを見せてください。 – smci

+0

'new [[2]]'は1つのデータフレーム列をベクトルとして抽出しますが、それを 'new [、c(1:3)]]に一般化することはできません。 )] '。 '[..]'演算子については、['? '[' 'page](https://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html) 。 – smci

+0

また、これらの列が 'read.csv()'のために数値でない場合は、 'read.csv(...、colClasses)'の使用法を見てください。変換を行う必要があります。 – smci

答えて

0

動作しないときは、あなたのnewの構造が何であるかを示していない、とあなたの構文は、あなたがしようとしていることを示していますその列をリスト要素として扱います。

数字の列を含むデータフレームであることを確認してください。

boxplot(iris[,1:4]) 

+0

これはアイリスで動作しますが、私の 'boxplot(as.data.frame(new [、1:3]))' –

+1

'boxplot(sapply(new [、1:3]、as.numeric))では動作しません'。列を数値形式に変換する必要がある場合は、列ごとに個別に行う必要があります。 'sapply'を使って各列を反復処理することができます。 – eipi10

関連する問題