从值从计数函数派生的列中计算百分比列

我正在尝试创建百分比列。

它与下面的my_data1完美配合,但与my_data3完美配合(两者之间的唯一区别是my_data3中的value列是整数。但是,即使将变量更改为数字,问题仍然存在)。

这有效:

my_data1 <- data.frame(Colour = c("Blue","Red","Green"),Value = c(2,3,1))

my_data1 %>% 
  mutate(Percentage = Value/sum(Value)*100)



  Colour Value Percentage
1   Blue     2   33.33333
2    Red     3   50.00000
3  Green     1   16.66667

但这不起作用:

my_data3 <- data.frame(Colour = c("Blue","Blue","Green","Red"))

my_data3 <- my_data3 %>% 
  group_by(Colour) %>% 
  count(name = "Value") 

my_data3 %>% 
  mutate(Percent = Value/sum(Value)*100)


  Colour Value Percent
  <fct>  <int>   <dbl>
1 Red        3     100
2 Blue       2     100
3 Green      1     100

任何帮助/建议/解释将不胜感激。

o919977230 回答:从值从计数函数派生的列中计算百分比列

我们可以提取与.$分组的整个列

my_data3 %>% 
   mutate(Percent = Value/sum(.$Value)*100)
# A tibble: 3 x 3
# Groups:   Colour [3]
#  Colour Value Percent
#  <fct>  <int>   <dbl>
#1 Blue       2    33.3
#2 Green      1    16.7
#3 Red        3    50  
本文链接:https://www.f2er.com/2941854.html

大家都在问