如何定位列并将其转换为百分比
How to target a column and convert it to percentage
我正在尝试将 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栏中,我要添加货币
并且在计数列中,我想将 (,) 添加到计数
我希望它看起来像这样table
这是我在 markdown 中遇到的错误。
错误:data
的对象不是 gt_tbl
对象。
在应用 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)
我想您需要的只需 dplyr
即可完成。但是,如果您要将 table 导出到其他地方,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)))
我正在尝试将 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栏中,我要添加货币
并且在计数列中,我想将 (,) 添加到计数
我希望它看起来像这样table
这是我在 markdown 中遇到的错误。
错误:data
的对象不是 gt_tbl
对象。
在应用 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)
我想您需要的只需 dplyr
即可完成。但是,如果您要将 table 导出到其他地方,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)))