有什么办法可以绘制此密度图

时间:2020-02-18 21:45:23

标签: r ggplot2

我试图绘制两个升降机的大小图,它们分别包含小型升降机中5人的体重中位数和大型升降机中10人的中位数体重的数据。对如何绘制密度图感到困惑,因此我可以比较两个升降机的中位重量

我正在使用的数据集是here;

500人性别,身高,体重,身体质量指数

随机生成身高体重,计算出体重指数

但是,我删除了高度和索引,因为这与我的研究无关

我在这里创建了两个样本;

  Large <- replicate(n=1000, mean(sample(Weight$Weight, size = 10)))
    Small <- replicate(n=1000, mean(sample(Weight$Weight, size = 10)))

然后将它们放入一个称为Lifts的数据框;

  Lifts<-data.frame(Large, Small)

我试图通过绘制以下密度图来提出解决方案;

ggplot(Lifts, aes(Large)) + geom_density(fill = "blue") + labs(x = "Median of Weight", y =     "Distribution of Data")

任何帮助将不胜感激

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您希望两组之间进行比较,则可以使用pivot_longer进行分组,然后在情节中设置分组美观度

library(ggplot)
library(tidyr)

Large <- replicate(n=1000, mean(sample(Weight$Weight, size = 10)))
Small <- replicate(n=1000, mean(sample(Weight$Weight, size = 10)))
Lifts<-data.frame(Large, Small)

Lifts_long <- pivot_longer(Lifts, cols = c(Small, Large), names_to = "name", values_to = "value")

ggplot(Lifts_long, aes(value)) +
  geom_density(aes(group = name, fill = name), alpha = 0.5) +
  labs(x = "Median of Weight",
       y = "Distribution of Data",
       fill = "Group Name")

enter image description here