使用ggplot绘制表格对象?

时间:2014-11-06 19:42:50

标签: r plot ggplot2

我有这些数据:

         No    Yes
Female  411   130
Male    435   124

是使用标准表命令创建的。现在有了情节,我可以这样绘制:

plot(table(df$gender, df$fraud))

然后输出2x2条形图。

所以我的问题是,我怎么能用ggplot2做到这一点?有没有办法将table-object转换为数据框?我会这样做,但它变得一团糟,然后你需要重命名列和行标题,它只是变得一团糟真的很简单?

2 个答案:

答案 0 :(得分:18)

诸如

之类的东西
ggplot(as.data.frame(table(df)), aes(x=gender, y = Freq, fill=fraud)) + 
    geom_bar(stat="identity")

得到一个类似的图表,其中最小量的重新标记。

答案 1 :(得分:3)

ggplot2适用于数据框,因此,您必须将表转换为框架。以下是示例代码:

myTable <- table(df$gender, df$fraud)
myFrame <- as.data.frame(table(myTable))

现在,您可以在ggplot2中使用myFrame:

ggplot(myFrame, aes(x=gender))+
  geom_bar(y = Freq)

有关详细信息,请参阅Coerce to a Data Frame