使用ggplot绘制表格对象?

use*_*596 10 plot r ggplot2

我有这些数据:

         No    Yes
Female  411   130
Male    435   124
Run Code Online (Sandbox Code Playgroud)

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

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

然后它输出一个2x2条形图.

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

Wal*_*ltS 19

像这样的东西

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

获得具有最小重新标记量的类似图表.

  • 如果有一个可以看到(绘图)并运行(代码)的示例,那将会很有帮助 (3认同)

Mos*_*afa 5

ggplot2 使用数据框架,因此,您必须将表格转换为框架。这是示例代码:

myTable <- table(df$gender, df$fraud)
myFrame <- as.data.frame(table(myTable))
Run Code Online (Sandbox Code Playgroud)

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

ggplot(myFrame, aes(x=gender))+
  geom_bar(y = Freq)
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅强制数据帧。