【问题标题】:How to target a column and convert it to percentage如何定位列并将其转换为百分比
【发布时间】:2021-09-14 21:13:11
【问题描述】:

我正在尝试将 count_contribution 列转换为百分比

这是我的代码

Combined%>%
   group_by(`Processing Server`)%>%
   summarise(Transaction_count = n(), Face_value = sum(FaceValue))%>%
   mutate(Count_contribution = Transaction_count/sum(Transaction_count))%>%
  fmt_percent(columns = Count_contribution,decimals = 1)

Face_value一栏,我要加币种

在计数列中,我想在计数中添加 (,)

我希望它看起来像这张桌子

这是我在 Markdown 中遇到的错误。

错误:data 的对象不是 gt_tbl 对象。

【问题讨论】:

  • fmt_percent 是从哪里来的,它不起作用怎么办?
  • 它来自 gt 包,有没有其他包可以用来实现这个
  • 可能,但没有reproducible example就很难说

标签: r dplyr r-markdown tidyverse gt


【解决方案1】:

在应用fmt_percent 或任何其他gt 命令之前,使用gt() 函数更改数据框。您可以使用fmt_number 为数字添加逗号。

mtcars 为例。

library(dplyr)
library(gt)

mtcars %>%
  group_by(cyl)%>%
  summarise(Transaction_count = n() * 100, mpg = sum(mpg)) %>%
  mutate(Count_contribution = Transaction_count/sum(Transaction_count)) %>%
  gt() %>%
  fmt_percent(columns = Count_contribution,decimals = 1) %>%
  fmt_number(columns = Transaction_count)

【讨论】:

    【解决方案2】:

    我认为只需dplyr 即可完成您需要的工作。但是如果要将表格导出到其他地方,Ronak 的gt 使用指南应该就足够了。

    library(dplyr)
    ##This is just to recreate your data set 
    Combined <- structure(list(`Processing Server` = c("linode", "vpn-100", "vpn-45", "vpn-81", "vpn-98"), 
    Transaction_count = c(2978, 324841, 9590, 131352, 150314),  
    Face_value = c(557600, 108998381, 4975880, 55503635, 54759542)),  
    row.names = c(NA, -5L),  class = c("tbl_df", "tbl","data.frame"))
    
    ##Using dplyr and base R's format function.. 
    Combined %>% 
              mutate(Count_contribution = paste0(round(Transaction_count/sum(Transaction_count)*100,0),"%"),
                     Transaction_count=format(Transaction_count,big.mark=","),
                     Face_value=paste0("$",format(Face_value,big.mark=",",trim=T)))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      相关资源
      最近更新 更多