有没有办法重新排序因素,如红色,黑色,棕色,金色
require(rCharts)
hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
n2 <- nPlot(Freq ~ Hair, group = 'Eye', data = hair_eye_male, type = 'multiBarChart')
n2
由于
答案 0 :(得分:1)
重新排序因素是一门古老的艺术。不要敲它......这很有趣
在这种情况下,我首先重新评估数据。因此,如果你想在x轴上按顺序出现红色,黑色,棕色,金色......在初始数据框中添加一个新变量,将头发颜色映射到应该如何排序。新变量不应该是一个因素。 (红色= 1,黑色= 2,褐色= 3,金发= 4)。我假设你已经覆盖了它。
下面的代码只是添加了标签。在定义了n2之后添加它。
n2$xAxis(axisLabel = "Hair Color",tickValues=c("red","black","brown","blond"))
答案 1 :(得分:0)
您可以使用levels
factor()
参数以任意顺序设置因子。然后,如果您根据这些因素对数据帧重新排序,则nPlot图例将按您指定的因子顺序排列。
hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
hair_eye_male$Eye<-factor(hair_eye_male$Eye,levels=c('Green','Blue','Hazel','Brown'))
n<-nPlot(Freq~Hair,data=hair_eye_male[order(hair_eye_male$Eye),],group='Eye',type='multiBarChart')