东莞建设工程造价管理网站,资产管理公司注册条件,全球最大的c2c平台,中国营销传播网手机版#x1f4cb;文章目录Percent() 函数介绍例子1#xff0c;在向量中格式化百分比#xff1a;例子2#xff0c;格式化数据框列中的百分比#xff1a;例子3#xff0c;格式化多个数据框列中的百分比#xff1a;如何使用percent()函数在绘图过程展示通常在绘图时#xff0c…
文章目录Percent() 函数介绍例子1在向量中格式化百分比例子2格式化数据框列中的百分比例子3格式化多个数据框列中的百分比如何使用percent()函数在绘图过程展示通常在绘图时遇到小数点的数值会默认保留原格式。如何使用百分比来展示可以借助scales包中的percent ( )函数来解决。Percent() 函数介绍 在 R 中将数字格式化为百分比的最简单方法是使用 scales 包中的 percent() 函数。
# 此函数使用以下语法
percent(x, accuracy 1)不懂的函数可以先help或者?函数名前提需要先加载对应R包 介绍主要的参数 x : 要格式化为百分比的对象 accuracy : 要四舍五入的数字。例如使用 .01 舍入到小数点后两位
例子1在向量中格式化百分比
library(scales)
data - c(0.3, 0.7, 0.14, 0.18, 0.22, 0.78)
# 精确到整数
percent(data, accuracy 1)
# 精确到小数点1位
percent(data, accuracy 0.1)
# 精确小数点2位
percent(data, accuracy 0.01)从结果来看我们只需要在percent函数中设定好accuracy就可以了。切记data是一个向量例子2可以更加确定是向量。
例子2格式化数据框列中的百分比
library(scales)
df data.frame(region c(A, B, C, D),growth c(0.3, 0.7, 0.14, 0.18))
df
# 对数据框中增长列变量以百分比格式显示数字
df$growth - percent(df$growth, accuracy1)
df例子3格式化多个数据框列中的百分比
library(scales)
df data.frame(region c(A, B, C, D),growth c(0.3, 0.7, 0.14, 0.18),trend c(0.04, 0.09, 0.22, 0.25))
df
# 对数据框中增长列和趋势列变量以百分比格式显示数字
df[2:3] - sapply(df[2:3], function(x) percent(x, accuracy1))
df这里用到了sapply函数对数据框中多列向量进行批量运行。不太懂的可以help下sapply函数的用法。
如何使用percent()函数在绘图过程展示
加载数据
如何在ggplot2绘图时候展示这里需要注意的我们用了geom_text和scale_x_continuous时候都用到了percent。其中第一个用的是percent () 函数(将数值向量格式化为百分比)第二个则是用的百分比的labels表达。
employed %%drop_na ( ) %%group_by(minor_occupation) %%summarise(employ_n sum(employ_n)) %%mutate(pct employ_n/sum(employ_n)) %%arrange(desc(pct)) %% . [1:10, ] %%ggplot(aes(x pct ,y reorder(minor_occupation, pct)))geom_col(aes(fill I(ifelse(pct max(pct), #4281a4, #9cafb7))), width 0.85)geom_text(aes(label percent(round(pct, 3)), color I(ifelse(pct max(pct), white, black))), size 2, hjust 1.1) scale_y_discrete(labels function(x) str_wrap(x, 28)) scale_x_continuous(labels percent, limitsc(0, 0.30), expand c(0, 0))
theme_light() theme(plot.margin ggplot2::margin(0, 10, 0, 0),plot.title element_text(face bold, size 16)) theme(axis.ticks.y element_blank()) labs(y Minor Occupation, x Percent)