我有几个可能相关的数据框 - 第一个看起来像:
> 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要求数据组合在一起,在数据框中彼此相邻?除此之外,我感到困惑!
谢谢,
马特