从R中的数据框创建多个图,每个图上有多行

时间:2014-03-26 11:54:29

标签: r ggplot2 dataframe data-analysis

我有几个可能相关的数据框 - 第一个看起来像:

> colnames(newData)
[1] "Date"   "Site"   "Test_Group" "Revenue" 

第二个看起来像:

> colnames(filterData)
[1] "Site" "Date" "Test_1"   "Test_2"

并通过运行创建: z <- dcast(newData, Site + Date ~ Test_Group, sum)

其中Test_1和Test_2是第一个数据框(newData)中Test_Group的级别。

我打算做的是拥有与我有网站一样多的图表 - 每个图表的x轴为日期,y轴为收入,两行为每个测试组一个。

到目前为止,我已经能够生成我想要的图表之一:

one_site <- newData[newData$Site == "one_site",]
ggplot(one_site, aes(one_site$Date, one_site$Revenue, colour=as.factor(one_site$Test_Group), group = as.factor(one_site$Test_Group))) + geom_line()

我想知道是否有办法在不使用for循环的情况下实现此结果。

编辑:

调查了facet wrap并且它们似乎是朝着正确方向迈出的一步 - 然而,运行以下查询:

ggplot(newData,aes(newData$Date, newData$Revenue, colour=as.factor(newData$Test_Group), group=as.factor(newData$Test_Group))) 
 + geom_line(aes(group=newData$Test_Group, colour=newData$Test_Group)) + 
 + facet_wrap( ~ Site, scales="free", ncol = 3)

我获得了所需数量的图形和图形以及所需的轴和标题。图例还显示时间序列的标题为Test_1和Test_2。但是,查看图表时,每个图表只绘制一条线 - Test_1或Test_2!我真的不明白为什么会这样 - 我能想到的唯一想法是一个可能的排序问题,其中R要求数据组合在一起,在数据框中彼此相邻?除此之外,我感到困惑!

谢谢,

马特

0 个答案:

没有答案