我有数据比较美国黑人星期五和加拿大节礼日的销售情况。对于每个购物假期,我都有一个包含热门项目的数据框,我已将其合并。我也有大约百分比的广告,每个假期都不同。数据框如下所示:
+---------+----------+-----------+---------+
| Item | AdBudget | Holiday | AmtSold |
+---------+----------+-----------+---------+
| TV | $1000 | BlackFri | 1800 |
| Laptop | $2300 | BlackFri | 1400 |
| DVDs | $100 | BlackFri | 300 |
| Blender | $200 | BlackFri | 50 |
| TV | $1200 | BoxingDay | 1000 |
| Laptop | $1200 | BoxingDay | 850 |
| Blender | $500 | BoxingDay | 76 |
| DVDs | $400 | BoxingDay | 35 |
+---------+----------+-----------+---------+
项目因子的自动排序是按字母顺序排列的(即Blender,DVD,Laptop,TV)。我希望订购(电视,笔记本电脑,搅拌机,DVD)。
我想在节礼日由AmtSold订购ITEM因子。你能帮我用重新订购吗?
谢谢。
修改
有几位评论者问我输出数据框是什么样的。为了澄清,我不知道也不关心我是否重新排序数据帧。我将这些数据放入ggplot2并制作条形图。像这样:
ggplot(dataframe,aes(x=Item,y=AmtSold))
+geom_bar(stat="identity")
+ facet_grid(Holiday ~ .)
如答案to this question about ggplot2 bar graphs on factors中所示,ggplot2根据字母(或可能是字母数字?)顺序对因子变量进行排序。
就我而言,这意味着我的条形图将按以下顺序排列: 搅拌机,DVDS,笔记本电脑,电视
我希望在节礼日销售量(从最高到最低)的顺序,这个顺序: 电视,笔记本电脑,搅拌机,DVD
一种可能性是明确地这样做
dataframe$Item <- factor(dataframe$Item, levels = c("TV","Laptop","Blender","DVDs"))
但我想以编程方式进行。