通过组变量计算多个数值变量的百分比

问题描述 投票:3回答:1

我正在尝试计算列的百分比,其中取决于图像中所示的唯一类别。 enter image description here

正如我们在图像中看到的那样,Tag是一列,而Long是另一列。所以这里我们想要Long列的百分比计算基于Unique Tag No。在所有Tag=1的例子和Long列Qazxswpoi和1004 is 0.42%544 is 0.22%545 is 0.22%282 is 0.11% 1 is 0.00% 2376的值。类似的每个Total和其他列的百分比计算,如TagMediumShort将完成。

Urgent

这里的预期输出是用Color写的图像输出。谢谢

r dplyr percentage reshape2
1个回答
6
投票

这是处理任务的一种方法。您按df <- data.frame(Tag = c(1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,2), YPred = c("L1", "L2" ,"L3", "L4", "L5", "L1", "L2", "L3", "L4", "L5"), Long = c(1004 , 544 , 545 , 282 , 1 ,2068 ,3006 ,3711 ,2342 , 33), Medium = c(108, 252, 211, 149, 0, 17, 110, 248, 341, 4), short = c(58, 118, 131, 73, 4, 0, 43, 150, 189,2), Urgent = c(5, 70, 65, 24 , 5 ,22 ,18, 31 ,96, 2)) 对数据进行分组。然后,您想要对四列进行计算(即TagLongMediumshort)。您将每组中的每个值除以Urgent中每个组的值的总和。

mutate_at()
© www.soinside.com 2019 - 2024. All rights reserved.