如何在boxplot上打印频率 - ggplot - R.

时间:2018-02-06 22:24:46

标签: r ggplot2 boxplot

这是我的Dataframe

X color   cut      carrat
1   E    Ideal     0.23
2   J    Premiun   0.34
3   E    Ideal     0.23
...

我想创建我的列var“cut”的方框图。

以下是我想要做的代码...

ggplot(diamonds, aes(cut)) + geom_boxplot()

然而,它没有正常工作,因为它要求美学变形“y”缺失。

这是因为我没有为aes提供第二个var,我必须提供的第二个var是什么?因为我只需要在x的边缘,我的var“cut”可以采用不同的值,并且在Y的边缘需要它的频率。

感谢。

2 个答案:

答案 0 :(得分:2)

以下代码将完成这项工作:

FB.login()

boxplot是一些数据分布的分组,因此您必须提供您想要分箱图的分布数据。 library(ggplot2) p <- ggplot(diamonds, aes(x = cut, y=carat)) p <- p + geom_boxplot(outlier.colour = "blue", fill="grey85") p <- p + labs(title = "Diamonds carats") show(p) 美学必须代表类型,x必须代表数据集。

documentation

答案 1 :(得分:2)

boxplot需要一个y变量,因为它说明了一个分布。按切割计算的行数不是分布,而是每个切割只有一个数字。以下是每次削减的计数:

test_func() called:
    File "stacktrace_decorator.py", line 28, in <module>
    print(test_func())
42

该信息无法在方框图中显示。相反,你可以像这样使用条形图:

> table(diamonds$cut)

     Fair      Good Very Good   Premium     Ideal 
     1610      4906     12082     13791     21551

生成此图表:

enter image description here

或者这里是切割和克拉的箱形图的代码,例如:

ggplot(diamonds, aes(x = cut)) +
  geom_bar()

图表:

bar chart

因此,箱线图显示了每个切割水平的克拉柱的平均值,范围和四分位数。