Foro de debate

Organizar dataframe por dias de la semana

Organizar dataframe por dias de la semana

by Leonardo Rodriguez -
Number of replies: 5

Hola Buena tarde, 


He visto este tema en varias paginas, pero no termino de solucionarlo, por lo cual acudo a su colaboracion.

Deseo organizar del dataframe data_dia en orden de acuerdo al dia , es decir (monday, tuesday, wednesday, thursday, friday, etc).


He intentado hacerlo a traves de la siguiente instruccion, pero hace algo que no entiendo aun porque lo hace, de seguro algo esta mal.

data_dia$dia<-factor(tx_dia_aliado$dia, levels = c("monday","tuesday","wednesday","thursday","friday","saturday","sunday"))


Podrian por favor echarme una mano, 

Gracias.

Tengo la siguiente info.

observacion
dia
media
1 friday    1.299.355
2 monday    1.351.839
3 saturday  1.258.291
4 sunday    1.366.408
5 thursday  1.309.953
6 tuesday   1.330.322
7 wednesday 1.317.544
8 friday    1.451.183
9 monday    1.531.543
10 saturday  1.384.059
11 sunday    1.554.396
12 thursday  1.467.687
13 tuesday   1.494.216
14 wednesday 1.480.811
15 friday    1.322.773
16 monday    1.387.309
17 saturday  1.287.631
18 sunday    1.433.896
19 thursday  1.343.694
20 tuesday   1.374.547
21 wednesday 1.356.996
22 friday    1.030.968
23 monday    1.030.027
24 saturday  1.019.093
25 sunday    1.037.383
26 thursday  1.018.336
27 tuesday   1.032.169
28 wednesday 1.020.599


In reply to Leonardo Rodriguez

Re: Organizar dataframe por dias de la semana

by Manuel Muñoz Márquez -

Buenas:

¿Qué entiendes por organizar? ¿Poner todos los lunes juntos y luego los martes, etc?

Un saludo

In reply to Manuel Muñoz Márquez

Re: Organizar dataframe por dias de la semana

by Leonardo Rodriguez -
Exacto, Si, es asi como lo dices.


Gracias.

In reply to Leonardo Rodriguez

Re: Organizar dataframe por dias de la semana

by Manuel Muñoz Márquez -

Buenas:

Pues entonces con el fichero de datos: datos.csv sería así:

 datos <- read.csv('datos.csv', header=T, sep=' ', stringsAsFactors=F)
> head(datos)
  observacion      dia   media
1           1   friday 1299355
2           2   monday 1351839
3           3 saturday 1258291
4           4   sunday 1366408
5           5 thursday 1309953
6           6  tuesday 1330322
> indices <- sort(datos$dia, index.return=T)$ix
> datos <- datos[indices,]
> head(datos)
   observacion    dia   media
1            1 friday 1299355
8            8 friday 1451183
15          15 friday 1322773
22          22 friday 1030968
2            2 monday 1351839
9            9 monday 1531543

Un saludo

In reply to Manuel Muñoz Márquez

Re: Organizar dataframe por dias de la semana

by Franz Jimeno -

Hola Leonardo,

si quieres tener ordenados los días de lunes a domingo lo puedes hacer de la siguiente manera:

> datos <- read.csv('datos.csv', header=T, sep=' ', stringsAsFactors=F)
> head(datos)
  observacion      dia   media
1           1   friday 1299355
2           2   monday 1351839
3           3 saturday 1258291
4           4   sunday 1366408
5           5 thursday 1309953
6           6  tuesday 1330322
> datos$dia <- factor(datos$dia, levels=c("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"), ordered = TRUE) > datos <- datos[order(df$dia),]
> head(datos)
Un saludo,


Franz Jimeno