我有一个看起来像这样的数据框:
df <- data.frame(
Region = rep(1:14, each=112),
Job = rpois(112*14, 0.7)
)
以下代码将其放入一个数据框,可用于使用ggplot和facet_wrap在每个区域上绘制条形图上的频率:
DF1 = data.frame(table(subset(df, Region == 1)$Jobs))
DF2 = data.frame(table(subset(df, Region == 2)$Jobs))
.
.
.
DF14 = data.frame(table(subset(df, Region == 14)$Jobs))
df1 <- do.call("rbind", list(DF1, DF2, ... ,DF14))
df1$Region <- c(rep('Region 1',nrow(DF1)),
rep('Region 2',nrow(DF2)),
.
.
.
rep('Region 14',nrow(DF14)) )
有一种更有效的通用方法吗?
绝对没有必要进行所有子设置,然后再将所有内容组合在一起。
您输入的数据df
已经采用了正确的格式,您可以执行以下操作:
library(ggplot2)
df <- data.frame(
Region = rep(1:14, each=112),
Job = rpois(112*14, 0.7)
)
ggplot(df, aes(Job)) +
geom_bar() +
facet_wrap(~ as.factor(Region))
我想你的目标是什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句