library(ggplot2)# 构造数据data data rpois(1000, lambda = 10)df data.frame(wrong=data)# 绘制频率分布直方图ggplot(df, aes(wrong)) + geom_histogram(aes(y = stat(count) / sum(count)), binwidth = 1, fill = "#F9A825", color = "#FFFDE7", alpha = 0.5) + labs(x = "错误次数", y = "人数占比") + theme_bw() + scale_y_continuous(labels = scales::percent)
首先需要构造离散型变量数据。鉴于泊松分布适合于描述单位时间(或空间)内随机事件发生的次数,是最重要的离散分布之一,所以本文在此使用R语言中的rpois()函数生成离散型变量数据并将之转换为dataframe。
scale_y_continuous()用于修饰y轴刻度。
library(ggplot2)# 构造数据data rnorm(5000, mean = 175, sd = 10)data (data[data > 160])data (data[data < 190])df data.frame(height=data)#获取极值max_val max(df$height)min_val min(df$height)#计算全距range max_val - min_val#输出全距和极值print(max_val)print(min_val)print(range)# 绘制频率分布直方图ggplot(df, aes(height)) + geom_histogram(aes(y = stat(count) / sum(count)), bins = 10, fill = "#F9A825", color = "#FFFDE7", alpha = 0.5) + labs(x = "身高", y = "人数占比") + theme_bw() + scale_y_continuous(labels = scales::percent)
首先本文通过R语言中的rnorm()构建符合正太分布的模拟数据,同时为了避免异常点对绘图效果的影响去除(160, 190)之外的数据。连续型变量的频率分布直方图的绘制可以分为以下四个步骤:
birthwt是Baystate医疗中心在1986年收集的数据,用于研究低出生体重儿的相关影响因素。在使用该数据前,需要在RStudio console中运行install.packages(MASS)安装相关软件包。利用R语言绘制分组变量频率分布直方图的代码如下:
library(ggplot2)library(MASS)# 预处理:将smoke变量转换为因子类型birthwt$smoke = factor(birthwt$smoke)# 绘制频率分布直方图ggplot(birthwt, aes(bwt, fill = birthwt$smoke)) +# 直方图函数:position设置堆积模式为重叠 geom_histogram(aes(y = stat(count) / sum(count)), position = "identity", alpha = 0.4) + labs(x = "bwt", y = "人数占比") + theme_bw() + scale_y_continuous(labels = scales::percent)
本文基于birthwt数据集中的smoke因素作为数据分组依据,并在geom_histogram()通过参数position指定重叠堆积为直方图的堆积方法,该堆积方法能够更好的展示不同分组间的频数变化趋势。分组变量的频率分布直方图绘制结果如下:
联系客服