2

R では、約 150 列の data.frame からかなり大きな boxplot を描画しています。分布がデータセットの残りの部分と大きく異なる「異常な」列がいくつかあることを知っており、どの列を正確に特定したいと考えています。

当然のことながらラベルを貼るスペースは十分ではなく、あったとしても手で確認するのは不便でしょう。 identifyそこで、R の関数を使用して問題のある列を特定できると考えました。ただし、このような関数には x 座標と y 座標が必要であり、これまでのところ機能させることができませんでした。

私は試した

boxplot(dd.noctr$TGS, outline=F)
identify(xy.coords(dd.noctr$TGS)$x, y=xy.coords(dd.noctr$TGS)$y)

dd.noctr$TGSエラーが発生するためだけに、データ(マトリックスまたはdata.frame)はどこにありますか

warning: no point within 0.25 inches

ポイントが特定されなかったことを意味します。

列名を識別するための代替ソリューションはありますか (単一のポイントではありません)?

4

2 に答える 2

1

この解決策は少しぎこちないように見えるので、おそらくもっと良い解決策があります。

  1. 3 つの列を持ついくつかのサンプル データを設定します。

    TGS = data.frame(A = rnorm(100), B = rnorm(100), C=rnorm(100))
    
  2. 次に箱ひげ図をプロットします

    boxplot(TGS, outline=F)
    
  3. 次に、関数を構築しidentityます。

    identify(x=rep(1:ncol(TGS), each=nrow(TGS)), 
         y=as.vector(unlist(TGS)), 
         label=rep(colnames(TGS), each=nrow(TGS)))
    

    ラベルは列名です。この関数は、箱ひげ図の中央付近をクリックした場合にのみ機能します。

ここに画像の説明を入力

于 2013-10-01T09:45:00.890 に答える