首页 > 解决方案 > 如何按 r 中一列中的不同值进行分组,以便生成密度图?

问题描述

我的数据集看起来像这样

CAB_TYPE   Price
Uber       10
Uber       5
Lyft       6
Uber       7
Lyft       8
Uber       7

我想把它分成两个这样的数据集

Uber      10
Uber      5
Uber      7
Uber      7

Lyft     6
Lyft     8

所以我可以生成价格的密度图。我试图查找它,但我不确定如何描述这个问题。非常感谢你的帮助!

标签: r

解决方案


如果我理解正确,您正在尝试绘制 Uber 或 Lyft 价格的密度图。我对吗 ?

如果您的数据按以下示例组织:

df = data.frame(Cab_type = c("Uber","Uber","Lyft","Uber","Lyft","Uber"),
                Price = c(10,5,6,7,8,7))

> df
  Cab_type Price
1     Uber    10
2     Uber     5
3     Lyft     6
4     Uber     7
5     Lyft     8
6     Uber     7

ggplot2除了使用以下参数绘制它们并传递color参数之外,您不需要做任何事情aes

library(ggplot2)
ggplot(df, aes(Price, fill = Cab_type)) +
  geom_density(alpha = 0.6) +
  scale_fill_manual(values = c("green","orange"))

在此处输入图像描述

注意:1)如果要填充曲线下的区域,请fill使用aes.

2)如果要改变颜色,添加scale_fill_manual功能

3)如果你想增加一些透明度,你可以alpha = ..geom_density函数中使用。它回答了你的问题吗?


推荐阅读