2014-11-06 76 views
8

我有这样的数据:用ggplot绘制表格对象?

  No Yes 
Female 411 130 
Male 435 124 

这是使用标准table命令创建的。现在我情节可以绘制这个作为这样:

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

并然后输出一个2x2条形图。

所以我的问题是,我怎样才能做到这一点与ggplot2?有没有办法将表格对象转换为数据框?我会这样做,但它变得一团糟,然后你需要重新命名列和行标题,它真的是一个非常简单的事情变得混乱?

回答

14

喜欢的东西

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

获取一个重新标号的最小量的类似图表。

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以获取更多信息。