2017-07-27 111 views
0

我有一个数据集是这样的:ggplot2中多个二进制列的频率直​​方图?

Var1 Var2 Var3 
1 NA 1 
1 NA NA 
1 NA NA 
NA 1 NA 

的变量是二进制的,在不同的列,而不是相互排斥的(这是从一个“选择所有适用”的问题)。

我想在ggplot2中得到一个直方图,但我无法弄清楚如何获得数据在一个好的地方,使这项工作。我错过了什么?

感谢

回答

0
df = read.table(text="Var1 Var2 Var3 
1 NA 1 
1 NA NA 
1 NA NA 
NA 1 NA", 
header=TRUE, stringsAsFactors=FALSE) 

library(ggplot2) 
Tab = data.frame(values=colSums(df, na.rm=TRUE), names = names(df)) 
ggplot(data=Tab, aes(x=names, y=values)) + 
    geom_bar(stat="identity") 

Barplot

还是在基础R

barplot(colSums(df, na.rm=TRUE)) 
+0

谢谢!这工作。我觉得我不应该问这样一个简单的问题,但是我没有找到关于ggplot2的资源。 –