我是R的新手,所以也许我忽略了一些基本的东西。我遇到了一个问题,我的带有抖动的盒子/胡须图是重复某些数据点。
首先,我创建了两个从数据库中提取的数据子集
postProgram<-subset(sData,sData$PROGRAM_STATUS=="POST-PROGRAM" & sData$CLASS_DESC=="Widget1" & MARKET_NAME!="N/A")
preProgram<-subset(sData,sData$PROGRAM_STATUS=="PRE-PROGRAM"& sData$CLASS_DESC=="Widget1" & MARKET_NAME!="N/A")
接下来,我删除子集()
剩余的额外级别postProgram<-droplevels(postProgram)
preProgram<-droplevels(preProgram)
现在我只是想将preProgram值绘制为盒须,因此我将每个市场中的所有商店汇总为每周一次
preAgg<-setNames(aggregate(preProgram$DST_UNITS,by=list(preProgram$MARKET_NAME,preProgram$WEEK_DATE),"sum"),c("MARKET_NAME","WEEK_DATE","DST_UNITS"))
最后,我使用ggplot
绘制它p<-ggplot(preAgg,aes(factor(MARKET_NAME),DST_UNITS))
p + geom_boxplot(aes(fill=factor(MARKET_NAME))) + geom_jitter(position=position_jitter(width=.2)) + xlab("Market Name") + ylab("Units Sold") +
ggtitle("Pre-Program Weekly Units Sold By Region") + theme(legend.position="none")
我的问题是,对于三个市场,我有8个数据点。这是不可能的,因为只有7周的数据x 5个市场= 35个数据点。
让我更困惑的是,R Studio只显示日期信息的7个级别
为了我自己的理智,我还用子集()检查了纽约/长岛数据,显然只有7个数据点。什么是ggplot呢?这仅影响3个地区。
> subset(preAgg,preAgg$MARKET_NAME=='NYC / Long Island')
MARKET_NAME WEEK_DATE DST_UNITS
5 NYC / Long Island 2014-03-03 69
10 NYC / Long Island 2014-03-10 88
15 NYC / Long Island 2014-03-17 80
20 NYC / Long Island 2014-03-24 74
25 NYC / Long Island 2014-03-31 64
30 NYC / Long Island 2014-04-07 81
35 NYC / Long Island 2014-04-14 179
答案 0 :(得分:0)
Ben Bolker在评论中回答。除了数据点之外,Plot还显示了异常值。