7

boxplot関数を使用して...箱ひげ図を生成することに成功しています。boxplotここで、プロットを作成するために計算する統計を含むテーブルを生成する必要があります。

オプションを使用してこれを行いplot=FALSEます。

問題は、これにより、私が何もできないかなり奇妙な形式のデータが生成されることです。次に例を示します。

structure(list(stats = structure(c(178.998262143545, 182.227431564442, 
202.108456373209, 220.375358994654, 221.990406228232, 216.59986775699, 
217.054997032148, 228.509462713206, 267.070720949859, 284.832378859975, 
189.864120937198, 201.876421960518, 219.525439081472, 234.260088973545, 
279.343359793024, 209.472617639903, 209.526516071858, 214.785213079737, 
230.027361556731, 240.0647114578, 202.057148813419, 207.375619207685, 
220.093663781351, 226.246698737471, 240.343646265795), .Dim = c(5L, 
5L)), n = c(4, 6, 8, 4, 8), conf = structure(c(171.971593703341, 
232.245319043076, 196.247705331772, 260.771220094641, 201.435457751239, 
237.615420411705, 198.589545146688, 230.980881012787, 209.552007821332, 
230.635319741371), .Dim = c(2L, 5L)), out = numeric(0), group = numeric(0), 
names = c("U", "UM", "M", "LM", "L")), .Names = c("stats", "n", "conf", "out", "group", 
"names"))

私が欲しいのは、各統計 (最小、最大、中央値、四分位数) の表と、各グループの値 (「名前」のもの) です。

誰か私にこれを手伝ってくれませんか?私は非常にRの初心者です。

前もって感謝します!

4

3 に答える 3

24

boxplotと呼ばれるRの構造体を返しますlist

リストは、多かれ少なかれ、要素を名前で参照できるデータコンテナです。すると、 with 、withなどにA <- boxplot(...)アクセスできます。namesA$namesconfA$conf

したがって、下のboxplotヘルプファイル(何が返されるかを示します)を見ると、次のコンポーネントを含むリストが返されていることがわかります。?boxplotValue:boxplot

   stats: a matrix, each column contains the extreme of the lower
          whisker, the lower hinge, the median, the upper hinge and the
          extreme of the upper whisker for one group/plot.  If all the
          inputs have the same class attribute, so will this component.
       n: a vector with the number of observations in each group.    
    conf: a matrix where each column contains the lower and upper
          extremes of the notch.    
     out: the values of any data points which lie beyond the extremes
          of the whiskers.    
   group: a vector of the same length as ‘out’ whose elements indicate
          to which group the outlier belongs.    
   names: a vector of names for the groups.

したがって、各統計のテーブルはにありA$stats、各列はグループに属し、最小、下位四分位、中央値、上位四分位、および最大が含まれています。

あなたができること:

A <- boxplot(...)
mytable <- A$stats
colnames(mytable)<-A$names
rownames(mytable)<-c('min','lower quartile','median','upper quartile','max')
mytable 

これは(for)を返しますmytable

                      U       UM        M       LM        L
min            178.9983 216.5999 189.8641 209.4726 202.0571
lower quartile 182.2274 217.0550 201.8764 209.5265 207.3756
median         202.1085 228.5095 219.5254 214.7852 220.0937
upper quartile 220.3754 267.0707 234.2601 230.0274 226.2467
max            221.9904 284.8324 279.3434 240.0647 240.3436

次に、のように参照できますmytable['min','U']

于 2012-01-13T01:46:07.853 に答える
4

箱ひげ図の数値ではなくデータの分位数が本当に必要な場合は、quantile直接使用することをお勧めします (後で何をしたかを調べると、はるかに読みやすくなります)。

quantile (x, probs = c (0, .25, .5,.75, 1))

quantileそれ自体はグループでは機能しませんがaggregate、引数で指定されたグループごとに呼び出されるように組み合わせることができますby(リストである必要があるため、ここでいくつかのグループ化要素を組み合わせることができます)。

aggregate (chondro$x, by = list (chondro$clusters), 
           FUN = quantile, probs = c (0, .25, .5,.75, 1))

結果:

   Group.1   x.0%  x.25%  x.50%  x.75% x.100%
1  matrix -11.55  -6.55   5.45  14.45  22.45
2  lacuna -11.55  -2.55   4.45  10.45  22.45
3    cell  -8.55  -1.55  11.45  15.45  20.45

箱ひげ図の数値が本当に必要な場合 (たとえば、ひげがどこまで行くか)、 と を見て? fivenumください? boxplot.stats

于 2012-01-13T10:25:39.513 に答える
1

他の人は、関数の戻りオブジェクトに関する特定の質問に答えましたboxplot。一般的に戻りオブジェクトについて学びたい場合は、リストとstr関数の使用方法について実際に学ぶ必要があることを付け加えておきます。オブジェクトの意味のあるビュー、次に上に示したもの。パッケージには、リストやその他のオブジェクトをよりインタラクティブに探索できるTkListView関数もあります。andとサブセット化 (help("[") を参照)TeachingDemosを使用すると、戻りオブジェクトの内容 (オブジェクトを作成した関数のヘルプ ページから始めるのも良いでしょう) と、あなたが欲しい部分。strnames

于 2012-01-13T16:50:52.687 に答える