1

タイトルは正確に述べられていませんが、私が尋ねようとしていることを正確に要約する他の言葉を思いつくことができませんでした.

次の形式のテーブルがあります。

value (0<v<1)        # of events
   0.5677                 100000
   0.5688                   5000
   0.1111                   6000
     ...                     ...
   0.5688                 200000
   0.1111                  35000

このテーブルで私がやりたいことのいくつかを次に示します: ヒストグラムの描画、平均値の計算、分布のフィッティングなどです。

v=(0.5677,...,0.5688,...,0.1111,...)

ただし、テーブルではありません。

値の数は連続に近いほど膨大なので、新しいテーブルを作るのはあまり効果がないのではないかと思うので、元のテーブルを変更せずに別のテーブルを作るのが非常に望ましいです。しかし、そうしなければならない場合は、大丈夫です。前もって感謝します。

付録: 私が理解したいのは、このテーブルを通常のデータ ベクトルとして扱う方法です: 上記とまったく同じデータを表す次のベクトルがある場合:

v= (0.5677, ...,0.5677 , 0.5688, ... 0.5688, 0.1111,....,0.1111,....)
    ------------------   ------------------  ------------------
     (100000 times)      (5000+200000 times)  (6000+35000) times

次に、プロット、平均などの基本的な関数を適用して、必要なものを取得するだけです。これで私の質問がより明確になることを願っています。

4

1 に答える 1

0

データは値とその値のカウントで構成されているため、カウントを使用して値を重み付けする関数を探しています。?weighted.mean と入力して、重み付けされた (グループ化された) データの平均を計算する関数に関する情報を取得します。密度プロットの場合、density() 関数で weights= 引数を使用します。ヒストグラムの場合、cut() を使用して値を少数のグループに結合し、aggregate() を使用してグループ内のすべての値のカウントを合計するだけです。パッケージ Hmisc (wtd.mean、wtd.var、wtd.quantile など) には、さまざまな加重統計測定が含まれています。

于 2012-09-26T21:32:47.340 に答える