R 带计数的类别直方图

R 带计数的类别直方图,r,ggplot2,histogram,R,Ggplot2,Histogram,我得到的数据已经包含了这些类别的总数。我试图为每个com和年龄的房屋数量做一个柱状图,其中房屋是该类别的总数 Com<-c( "Newport", "Newport", "Newport", "Newport", "Newport", "Newport", "Topeka", "Topeka", "Topeka", "Topeka", "Topeka", "Topeka", "Missoula", "Missoula", "Missoula", "Mis

我得到的数据已经包含了这些类别的总数。我试图为每个com和年龄的房屋数量做一个柱状图,其中房屋是该类别的总数

Com<-c( "Newport",  "Newport",  "Newport",  "Newport",  "Newport",  "Newport",  "Topeka",   "Topeka",   "Topeka",   "Topeka",   "Topeka",   "Topeka",   "Missoula", "Missoula", "Missoula", "Missoula", "Missoula", "Missoula"  )
Age<-c( "1970s",    "1960s",    "1950s",    "1940s",    "1940_earlier", "1990s",    "1970s",    "1960s",    "1950s",    "1940s",    "1940_earlier", "1990s",    "1970s",    "1960s",    "1950s",    "1940s",    "1940_earlier", "1990s" )
Houses<-c(  11, 6,  3,  0,  0,  21, 44, 0,  3,  3,  25, 20, 0,  51, 236,    192,    312,    299 )
df=data.frame(Com,Age,Houses)
我也试过了

install.packages("ggplot2")
library(ggplot2) 
g <- ggplot(df$counts, aes(df$Age))
g + geom_bar()
最后

p <- ggplot(data = df, aes(x=Age)) 
p <- p + geom_histogram(aes(weights=Houses, fill=Com))
p <- p + scale_fill_brewer(palette="Set3")
p <- p + facet_wrap( ~ Com, ncol=1)
p
当在
ggplot2
中使用
geom_bar()
和已计算的总数(而不需要计数或求和案例)时,需要指定
stat=“identity”
。怎么样

g0 <- ggplot(df,aes(Age,Houses))+
   geom_bar(stat="identity")+
   facet_wrap(~Com)
print(g0)

晶格函数为条形图:

library(lattice)
barchart( Houses ~ Age ,group=Com,  data=df)
基本条形图解决方案要求数据位于矩阵、表格或xtabs对象中。通过defatul,可以得到一个堆叠条形图,但如果与上面的晶格代码相同,则添加下一个参数:

barplot(xtabs(Houses~Com+Age, data=df), beside=TRUE)
g0 <- ggplot(df,aes(Age,Houses))+
   geom_bar(stat="identity")+
   facet_wrap(~Com)
print(g0)
ggplot(df,aes(Age,Houses))+
   geom_bar(stat="identity")+
   coord_flip()+
   facet_wrap(~Com,ncol=1)
library(lattice)
barchart( Houses ~ Age ,group=Com,  data=df)
barplot(xtabs(Houses~Com+Age, data=df), beside=TRUE)