我有这个数据框:
year Mes Sesiones
1 2014 Abril 25721
2 2014 Agosto 14851
3 2014 Diciembre 71359
4 2014 Enero 2244
5 2014 Febrero 3149
6 2014 Julio 11540
7 2014 Junio 18648
8 2014 Marzo 10738
9 2014 Mayo 19151
10 2014 Noviembre 149655
11 2014 Octubre 42032
12 2014 Setiembre 33667
13 2015 Enero 41885
14 2015 Febrero 81120
我已经应用这个来制作colum“Mes”(最初是一个字符列),一个因子列(具有有序级别):
IkasaVisitas_Meses_Meses$Mes <- factor(IkasaVisitas_Meses_Meses$Mes,
levels = c("Enero", "Febrero", "Marzo", "Abril",
"Mayo", "Junio", "Julio", "Agosto",
"Setiembre", "Octubre", "Noviembre",
"Diciembre"),
ordered=TRUE)
但是我仍然可以按照原样订购月份:“Enero”,“Febrero”......“Diciembre”。我知道这很容易接受,所以如果你能指出我的好参考就会很高兴。
要创建此数据框,我使用此代码(使用dplyr): 我的意思是这个原因,“group_by”在其他情况下给我带来了一些问题:
IkasaVisitas_Meses_Meses <- IkasaVisitas_Meses %>%
group_by(year,Mes) %>%
summarise (Sesiones = sum(Sesiones))
答案 0 :(得分:1)
因为,从您的评论中听起来它起作用,这是完整的答案:
更改为某个因素是一个好主意(它不一定是有序因子,更多是建模惯例)。
使用arrange
订购行,使用ungroup()
删除分组:
IkasaVisitas_Meses_Meses <- IkasaVisitas_Meses %>%
group_by(year,Mes) %>%
summarise (Sesiones = sum(Sesiones)) %>%
mutate(Mes = factor(Mes,
levels = c("Enero", "Febrero", "Marzo", "Abril",
"Mayo", "Junio", "Julio", "Agosto",
"Setiembre", "Octubre", "Noviembre",
"Diciembre")) %>%
# if you don't want the re-rordering to be within-group
ungroup() %>%
arrange(Mes)