如何在 R 中创建光滑的密度曲线而不填充密度?


可以使用 ggplot2 包的 stat_density 函数创建密度曲线,但是它会使用密度填充曲线,因此难以识别曲线。我们可以在 stat_density 函数中使用 geom="line" 来移除这些密度,这样只会绘制密度曲线。

示例

考虑以下数据帧

实时演示

> G<-sample(LETTERS[1:4],20,replace=TRUE)
> Response<-rnorm(20,1,0.34)
> df<-data.frame(G,Response)
> df

输出

G Response
1 C 1.0229016
2 C 1.0058160
3 B 0.8831558
4 B 0.7729167
5 C 0.9130468
6 D 0.8431893
7 B 1.5003581
8 A 0.9687335
9 B 1.1139661
10 A 0.9211660
11 A 1.1790619
12 D 0.6349671
13 A 1.2616918
14 A 1.6021078
15 C 0.9332981
16 C 1.0696149
17 D 0.7971567
18 C 1.4006042
19 C 1.3568032
20 A 1.1907336

加载 ggplot2 包并在不填充密度的情况下创建密度曲线

示例

> library(ggplot2)
> ggplot(df,aes(Response))+stat_density(aes(group=G,color=G),position="identity",geom="line")

输出

更新于: 2020 年 11 月 21 日

385 次浏览

开启你的 职业

完成课程并获得认证

开始使用
广告