0

Rにデータフレームがあります。最初の 2 列は、「はい」と「いいえ」の頻度の合計です。最後の 3 列はカテゴリ因子で、それぞれにラベルが付いています。

この形式から 4 次元分割表を作成しようとしていますが、どこからプロセスを開始すればよいかわかりません。

私のデータは次のようになります。

    Sold    Unsold  Label1                   Label2                 Label3
1   3330    32102   AdvancedShopper: Y       TERR_USED: Non-TREE    SPINOFF: N
2   2735    30691   HSEHLD_INCDT_BAND: 0     CLM_FREE_INCDT_CT: 0   SPINOFF: N
3   3350    29485   TERR_USED: Non-TREE      CLM_FREE_INCDT_CT: 0   SPINOFF: N
4   3864    28657   SingleMulti: N           TERR_USED: Non-TREE    SPINOFF: N
5   2691    26355   TERR_USED: Non-TREE      HSEHLD_INCDT_BAND: 0   CLM_FREE_INCDT_CT: 0
6   2396    25884   TERR_USED: Non-TREE      HSEHLD_INCDT_BAND: 0   SPINOFF: N
7   2738    25172   Channel: Owned Agency    TERR_USED: Non-TREE    SPINOFF: N
8   3203    24425   TERR_USED: Non-TREE      FULL_CVG_FLG: Y        SPINOFF: N
9   2781    24163   SingleMulti: N           CLM_FREE_INCDT_CT: 0   SPINOFF: N
10  1950    22371   AdvancedShopper: Y       CLM_FREE_INCDT_CT: 0   SPINOFF: N
11  2644    21528   TERR_USED: Non-TREE      FULL_CVG_FLG: N        SPINOFF: N
12  2278    21736   Channel: Owned Agency    SingleMulti: N         SPINOFF: N
13  2324    21648   SingleMulti: N           HSEHLD_INCDT_BAND: 0   CLM_FREE_INCDT_CT: 0
14  3108    20780   Channel: Prudent         TERR_USED: Non-TREE    SPINOFF: N
15  2491    21216   TERR_USED: Non-TREE      PRIOR_BI: High         SPINOFF: N

8 つの列から始めました。3 つのカテゴリ + 各カテゴリの 3 つの値 + (1) 書かれた見積もりの​​数、および (1) それらの見積もりの​​販売数 = 8。それぞれのカテゴリと値の文字列を連結して、上記の 3 つの列を形成しました。 . 19 のカテゴリがあり、各カテゴリには 2 ~ 6 の独自の数の属性があります。並べ替えにより、それぞれの列が順番に配置されますが、必ずしも 3 つのカテゴリとそれぞれの [はい] (販売済み) と [はい] (販売) といいえ(売れ残り)。平均販売率は 11.4% です。これらの 4 方向の偶発事象に対して Chi2 検定を実行して、平均値から最も強い外れ値を生み出す組み合わせを特定するために、頻度を具体化したいと考えています。基本的に 80046 の組み合わせがあり (19 が 3 を選択)、これら 3 つの選択肢のそれぞれにそれぞれのバケットがあります。

このデータをtable()xtabs()関数、したがってchi2.test. (カテゴリと値を連結する前のステップに戻る必要がありますか?)

私はRを初めて使用しますが、これらの大きな配列のプログラミングがはるかに優れているはずであることを知っています. SPSS にはアクセスできませんが、SAS にはアクセスできます (これも新しいものです)。

どんな方向性でも大きな助けになります。

------------------- 希望する出力は?返信 --------------------- さて、tableコマンドは data.frame を取得します

Category 1       Category 2       Category 3       Y/N

...分割表形式にしますよね?しかし、私はすでにイエスとノーを頻度形式で 3 つのカテゴリとしてリストしています。

この単一インスタンス形式に変更して、80046 行のテーブルを数百万行に分解する必要がありますか? tableまたは、既に 2 つの列に一覧表示されている [はい] と [いいえ] の頻度でコマンドを開始する方法はありますか?

4

1 に答える 1

0

その場合、Yes+No に対する Yes のパーセンテージを与える変数を作成できます。これが機能するかどうかを確認してください (データがサンプルであると仮定します)。

mytab <- xtabs((100*Sold/(Sold+Unsold))~Label1+Label2+Label3, data=sample)

  > mytab
, , Label3 = CLM_FREE_INCDT_CT: 0

                       Label2
Label1                  CLM_FREE_INCDT_CT: 0 FULL_CVG_FLG: N FULL_CVG_FLG: Y HSEHLD_INCDT_BAND: 0 PRIOR_BI: High SingleMulti: N
  AdvancedShopper: Y                0.000000        0.000000        0.000000             0.000000       0.000000       0.000000
  Channel: Owned Agency             0.000000        0.000000        0.000000             0.000000       0.000000       0.000000
  Channel: Prudent                  0.000000        0.000000        0.000000             0.000000       0.000000       0.000000
  HSEHLD_INCDT_BAND: 0              0.000000        0.000000        0.000000             0.000000       0.000000       0.000000
  SingleMulti: N                    0.000000        0.000000        0.000000             9.694644       0.000000       0.000000
  TERR_USED: Non-TREE               0.000000        0.000000        0.000000             9.264615       0.000000       0.000000
                       Label2
Label1                  TERR_USED: Non-TREE
  AdvancedShopper: Y               0.000000
  Channel: Owned Agency            0.000000
  Channel: Prudent                 0.000000
  HSEHLD_INCDT_BAND: 0             0.000000
  SingleMulti: N                   0.000000
  TERR_USED: Non-TREE              0.000000

, , Label3 = SPINOFF: N

                       Label2
Label1                  CLM_FREE_INCDT_CT: 0 FULL_CVG_FLG: N FULL_CVG_FLG: Y HSEHLD_INCDT_BAND: 0 PRIOR_BI: High SingleMulti: N
  AdvancedShopper: Y                8.017762        0.000000        0.000000             0.000000       0.000000       0.000000
  Channel: Owned Agency             0.000000        0.000000        0.000000             0.000000       0.000000       9.486133
  Channel: Prudent                  0.000000        0.000000        0.000000             0.000000       0.000000       0.000000
  HSEHLD_INCDT_BAND: 0              8.182253        0.000000        0.000000             0.000000       0.000000       0.000000
  SingleMulti: N                   10.321407        0.000000        0.000000             0.000000       0.000000       0.000000
  TERR_USED: Non-TREE              10.202528       10.938276       11.593311             8.472419      10.507445       0.000000
                       Label2
Label1                  TERR_USED: Non-TREE
  AdvancedShopper: Y               9.398284
  Channel: Owned Agency            9.810104
  Channel: Prudent                13.010717
  HSEHLD_INCDT_BAND: 0             0.000000
  SingleMulti: N                  11.881553
  TERR_USED: Non-TREE              0.000000

Call: xtabs(formula = (100 * Sold/(Sold + Unsold)) ~ Label1 + Label2 + 
    Label3, data = l)
Number of cases in table: 150.7815 
Number of factors: 3 
Test for independence of all factors:
    Chisq = 412.2, df = 71, p-value = 1.48e-49
    Chi-squared approximation may be incorrect
于 2013-07-09T22:09:23.547 に答える