由于熔化和随后的铸造[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
现在我需要每个group2
内获取变量(area
)的分数相对于group3
之间的每个group1
的总和。例如,G2_1(group2
)在G1_1(group1
)中具有100%的G3_10(group3
),G1_2(group1
)具有G3_8的21.24%和G3_10的78.26%等等。一旦计算出每个列的百分比为group1
,我认为我可以用melt()
得到的数组获得进一步分析所需的数据帧。
我觉得ddply()
在这里会有所帮助,但是由于我很难理解如何将它用于手头的任务,如果有人能帮忙,我将不胜感激。
[1]
sumStats.m <- melt(sumStats, id=c("group1", "group2", "group3"), "area")
sumStats.c <- cast(sumStats.m, group3 ~ group1 ~ group2 ~ variable, sum)
所以每行将总结到100%? – James 2012-07-20 09:46:47
对不起,@James,我在这里错过了你的问题!无论如何,我接受了你的答案,因为它对正确的利润率进行了轻微修改。 – ils 2012-07-20 10:51:36