1

作为熔化和随后铸造[1]数据集的结果,我获得了以下数组(?)(sumStats.c):

, , group2 = G2_1, variable = area

            group1
group3        G1_1      G1_2     G1_3       G1_4
   G3_1      0.000     0.000     0.00      0.000
   G3_2      0.000     0.000     0.00      0.000
   G3_3      0.000     0.000     0.00      0.000
   G3_4      0.000     0.000     0.00      0.000
   G3_5      0.000     0.000     0.00      0.000
   G3_6      0.000     0.000     0.00      0.000
   G3_7      0.000     0.000 26336.99  85236.488
   G3_8      0.000  4999.235 87935.73 360062.128
   G3_9      0.000     0.000     0.00      0.000
   G3_10  7853.982 18538.285 49744.29 134180.428
   G3_11     0.000     0.000     0.00   8830.825
   G3_12     0.000     0.000     0.00      0.000


, , grou2 = G2_2, variable = area

         group1
group3         G1_1     G1_2      G1_3      G1_4
   G3_1       0.000     0.00      0.00      0.00
   G3_2       0.000     0.00      0.00      0.00
   G3_3       0.000     0.00      0.00      0.00
   G3_4       0.000     0.00      0.00      0.00
   G3_5       0.000     0.00      0.00      0.00
   G3_6       0.000     0.00      0.00  51772.66
   G3_7       0.000     0.00      0.00      0.00
   G3_8    7853.982 22086.38 140874.76 523373.88
   G3_9       0.000     0.00      0.00      0.00
   G3_10      0.000  1415.79  23325.94  13407.49
   G3_11      0.000     0.00      0.00      0.00
   G3_12      0.000     0.00      0.00      0.00


, , group2 = G2_3, variable = area

          group1
group3          G1_1      G1_2       G1_3        G1_4
   G3_1       0.0000     0.000      0.000      0.0000
   G3_2       0.0000     0.000      0.000      0.0000
   G3_3       0.0000     0.000      0.000     93.2632
   G3_4       0.0000     0.000      0.000      0.0000
   G3_5       0.0000     0.000      0.000  46353.3814
   G3_6       0.0000     0.000      0.000      0.0000
   G3_7       0.0000     0.000      0.000      0.0000
   G3_8    7390.0570 16851.829 101013.680 232666.8839
   G3_9       0.0000  2541.574   6397.271  87825.7232
   G3_10      0.0000     0.000      0.000      0.0000
   G3_11    436.9895  4118.440  56572.140 173866.7915
   G3_12      0.0000     0.000      0.000  47924.5494

现在我需要得到每个变量 ( )相对于每个变量总数的分数。例如,G2_1 ( ) 在 G1_1 ( ) 中具有 100% 的 G3_10 ( ) ,G1_2 ( ) 具有 G3_8 的 21.24 % 和 G3_10 的 78.76 %,依此类推。一旦计算出每一列的百分比,我认为我可以得到结果数组来获取进一步分析所需的数据框。areagroup2group1group3group2group3group1group1group1melt()

我觉得这ddply()在这里会有所帮助,但由于我很难理解如何将它用于手头的任务,如果有人能提供帮助,我将不胜感激。

[1]
sumStats.m <- melt(sumStats, id=c("group1", "group2", "group3"), "area")
sumStats.c <- cast(sumStats.m, group3 ~ group1 ~ group2 ~ variable, sum)
4

1 回答 1

0

尝试:

prop.table(sumstats.c,margin=c(1,3))

例如:

x<-xtabs(~cyl+vs+am,mtcars)
x
, , am = 0

   vs
cyl  0  1
  4  0  3
  6  0  4
  8 12  0

, , am = 1

   vs
cyl  0  1
  4  1  7
  6  3  0
  8  2  0

prop.table(x,margin=c(1,3))
, , am = 0

   vs
cyl     0     1
  4 0.000 1.000
  6 0.000 1.000
  8 1.000 0.000

, , am = 1

   vs
cyl     0     1
  4 0.125 0.875
  6 1.000 0.000
  8 1.000 0.000
于 2012-07-20T09:50:48.213 回答