6

ヒストグラム グラフで最大頻度を取得しようとしています。値のリストがあります。次に、次のことを行います。

hist(list, breaks=length(list), freq=TRUE)

x 軸と y 軸の範囲を自動的に作成します。Y 軸は頻度、X 軸はリストの値です。

では、このグラフに表示される最大頻度を見つけるにはどうすればよいでしょうか?

グラフの右上隅に凡例を作成しようとしているので、最大頻度値を取得する必要があります。または、グラフの右上隅に凡例ボックスを配置するように R に指示する方法はありますか?

4

4 に答える 4

9

ヒストグラムの値は、R のデータ フレームとして格納できます。OP のデータ フレームの「リスト」の例を使用すると、次のことができます。

list_histo <- hist(list, breaks=length(list), freq=TRUE)

単に入力する

list_histo 

R に戻ると、ヒストグラムに関する情報を含む新しい「メタ」データ フレームが表示されます (ここに示されているデータは任意であり、説明を目的としています)。

$breaks
[1] 0.40 0.42 0.44 0.46 0.48 0.50 0.52 0.54 0.56 0.58 0.60 0.62 0.64 0.66 0.68
[16] 0.70 0.72 0.74 0.76

$counts
[1]      1     15    112    878   4734  17995  51094 110146 178855 216454
[11] 194536 130591  64218  23017   6117   1070    144     23

$intensities
[1]  0.00005  0.00075  0.00560  0.04390  0.23670  0.89975  2.55470  5.50730
[9]  8.94275 10.82270  9.72680  6.52955  3.21090  1.15085  0.30585  0.05350
[17]  0.00720  0.00115

$density
[1]  0.00005  0.00075  0.00560  0.04390  0.23670  0.89975  2.55470  5.50730
[9]  8.94275 10.82270  9.72680  6.52955  3.21090  1.15085  0.30585  0.05350
[17]  0.00720  0.00115

$mids
[1] 0.41 0.43 0.45 0.47 0.49 0.51 0.53 0.55 0.57 0.59 0.61 0.63 0.65 0.67 0.69
[16] 0.71 0.73 0.75

$xname
[1] "list_histo"

$equidist
[1] TRUE

attr(,"class")
[1] "histogram"

最大値の呼び出しは簡単になりました。

max(list_histo$counts)

最大値を返します。

于 2011-04-27T19:56:10.130 に答える
2

凡例へのx、y引数の代わりに、使用できますlegend('topright',...)

于 2011-04-17T04:41:50.967 に答える
2
set.seed(100)

x = rnorm(100, mean = 5, sd = 2)

res = hist(x)

res$mids[which.max(res$counts)]

[1] 4.5

ブレークに応じてバーの幅が変わりますが、ミッドは探しているバーの中間点を示します。これは、最高度数 (最大度数) のバーの中点を見つけます。

于 2011-04-17T01:45:13.600 に答える
0

使用することもできますtable(list)

値とそれらが繰り返される回数のリストを返します。

> list<-c(0.2, 0.6, 0.4, 0.5, 0.1, 0.5, 0.6, 0.6, 0.6, 0.1, 0.1, 0.6, 0.6, 0.6, 0.6)

> table(list)
list
0.1 0.2 0.4 0.5 0.6 
  3   1   1   2   8 

> max(table(list))
[1] 8
于 2013-04-08T12:52:48.617 に答える