【发布时间】:2012-03-06 00:57:45
【问题描述】:
我正在使用循环在数据子集上创建堆积条形图。我正在为每所学校的每个变量导出一个堆积条形图。一切顺利——每个图表只显示数据的子集——除了 x 轴继续为每所学校标记。所以我有一个很大的带有空白的长图表区域,以及一个堆叠的条形图,上面是学校的数据子集。
这是我的数据示例:
标签变量类百分比 SchoolA 乐观情绪高 67 SchoolA Optimism Med 33 SchoolA 乐观情绪低 20 SchoolA 自尊高中 84 SchoolA 自尊医学 12 SchoolA 自尊低 4 SchoolB 乐观情绪高 60 SchoolB 乐观主义医学 21 SchoolB 乐观情绪低 19 SchoolB 自尊高中 20 SchoolB 自尊医学 42 SchoolB 自尊低 38
...持续数百个变量和流派。
一般来说我是这样做的:
为每个学校和变量创建一个值数组
schools<-unique(df1$label)
variables<-unique(df1$variable)
将每个数据子集绘制为堆积条形图的函数
doPlot<-function(subdf){
ggplot(subdf,aes(x=label,y=percent,fill=factor(class)))+
geom_bar(stat="identity")}
使用每个数据子集运行 doPlot
for(i in 1:length(schools)){
for (j in 1:length(variables)){
subdf<-data.frame(subset(df1,label==schools[i]&variable==variables[j]))
doPlot(subdf)}}
为什么图表会为原始数据集创建和标记 x 轴,而不仅仅是数据子集?我是 R 新手,但我一直在搜索和尝试一段时间,但我很困惑。
【问题讨论】: