上国外网站的dns,做网站最烂公司,影响力网站建设,在职研究生直方图是一种统计图表。它将数据分成若干区间#xff0c;统计每个区间内数据的数量或频率#xff0c;用矩形条高度表示。能直观展现数据分布特征#xff0c;如集中趋势、离散程度等。在数据分析、质量控制、市场调研等领域广泛应用#xff0c;可帮助人们快速了解数据整体形…直方图是一种统计图表。它将数据分成若干区间统计每个区间内数据的数量或频率用矩形条高度表示。能直观展现数据分布特征如集中趋势、离散程度等。在数据分析、质量控制、市场调研等领域广泛应用可帮助人们快速了解数据整体形态为决策提供依据。在 R 语言中可借助特定包绘制。
0x01 使用hist()函数
一、准备数据
为方便演示这里我们使用R语言的内置数据faithful进行演示该数据提供了美国黄石国家公园老忠实间歇泉Old Faithful geyser的喷发时间和等待时间的数据。 数据集包含两列 1.eruptions表示老忠实间歇泉的喷发持续时间以分钟为单位。 2.waiting表示两次喷发之间的等待时间也是以分钟为单位。
二、参数说明
1.hist(x)绘制直方图 2.x要绘制直方图的数据向量。这是必需的参数。 3.breaks指定直方图的分组边界。可以是一个整数表示组数也可以是一个向量指定具体的分组边界。默认情况下hist()会自动选择一个合适的组数。 4.col直方图的填充颜色。可以是一个颜色名称如 “blue”、“red” 等也可以是一个颜色向量为不同的组指定不同的颜色。 5.border直方图边框的颜色。默认情况下边框颜色与填充颜色相同但可以通过这个参数进行单独设置。 6.freq逻辑值。如果为TRUE默认值则纵坐标表示频数每个区间内数据的数量如果为FALSE则纵坐标表示频率密度每个区间内数据的数量除以区间宽度。 7.xlab、ylab分别指定 x 轴和 y 轴的标签。 8.main直方图的标题。 9.axes逻辑值。如果为TRUE默认值则绘制坐标轴如果为FALSE则不绘制坐标轴。 10.xlim、ylim分别用于设置 x 轴和 y 轴的取值范围。例如xlim c(0, 100)会将 x 轴的范围限制在 0 到 100 之间。
三、应用示例
hist(faithful$eruptions)四、美化和调整
#seq(a,b,n)表示从a到b间隔为n
hist(faithful$waiting,freq TRUE,breaks seq(40,100,5),col red4,xlab waiting of faithful,main histogram)0x02 使用ggplot2包
一、准备数据
假设我们有一个数据框df包含一个数值变量value和一个分类变量group。
# 创建示例数据
df - data.frame(value c(rnorm(100), rnorm(100, mean 2)), group rep(c(A, B), each 100))二、参数说明
在 R 语言的ggplot2包中geom_histogram()函数用于绘制直方图。以下是其主要参数说明 1.mapping使用aes()函数设置的映射关系通常指定要绘制直方图的数据变量例如aes(x var)表示将变量var映射到 x 轴用于绘制直方图。 2.bins指定直方图的组数。可以是一个整数也可以是一个字符串如 scott、fd等这些字符串对应不同的自动确定组数的方法。 3.binwidth用于指定直方图中每个区间bin的宽度。 4.fill直方图的填充颜色。可以是一个颜色名称如 “blue”、“red” 等也可以是一个变量根据变量的值来确定不同的填充颜色。 5.color直方图边框的颜色。默认情况下边框颜色与填充颜色相同但可以通过这个参数进行单独设置。 6.alpha透明度取值在 0完全透明到 1完全不透明之间。可以用于调整直方图的透明度以便更好地观察数据的重叠情况。 7.position用于调整直方图的位置例如position dodge可以将多个直方图并列放置position stack可以将多个直方图堆叠放置。 8.stat指定统计变换的类型默认值为 bin表示对数据进行分组计数以绘制直方图。可以根据需要选择其他统计变换类型。 五、其他参数 9.na.rm逻辑值。如果为TRUE则在绘制直方图时忽略缺失值如果为FALSE默认值则包含缺失值。
三、绘制简单的直方图
使用ggplot()函数和geom_histogram()函数来绘制直方图。
library(ggplot2)
ggplot(df,aes(x value)) geom_histogram(binwidth 0.2)四、绘制分组直方图
ggplot(df, aes(x value, fill group)) geom_histogram(binwidth 0.2)也可以添加position dodge参数使不同组的直方图并列显示
ggplot(df, aes(x value, fill group)) geom_histogram(binwidth 0.2,position dodge)五、绘制分面网格图
添加使用facet_grid()函数创建一个分面网格图。
ggplot(df, aes(x value, fill group)) geom_histogram(binwidth 0.2) facet_grid(group~.)六、绘制密度直方图
使用y ..density..参数绘制密度直方图。
ggplot(df, aes(x value, fill group)) geom_histogram(binwidth 0.2,aes(y ..density..))七、绘制密度直方图密度曲线
添加使用stat_density()函数在密度直方图基础上绘制密度曲线。
#position identity表示表示不进行位置调整直接按照数据的位置绘制直方图可能会导致不同组的直方图重叠。
#geom line 指定以线条的形式绘制密度曲线。
#aes(colour group) 将 group 变量映射到线条颜色不同组的密度曲线将用不同的颜色显示。
ggplot(df, aes(x value, fill group)) geom_histogram(position identity,alpha 0.7,binwidth 0.2,aes(y ..density..)) stat_density(geom line,position identity,aes(colour group))八、绘制分面密度直方图密度曲线
同样我们使用facet_grid()函数就可以展示我们分面的效果。
ggplot(df, aes(x value, fill group)) geom_histogram(position identity,alpha 0.7,binwidth 0.2,aes(y ..density..)) stat_density(geom line,position identity,aes(colour group)) facet_grid(group~.)