Foro de debate

Organizar dataframe por dias de la semana

 
Imagen de Leonardo Rodriguez
Organizar dataframe por dias de la semana
de Leonardo Rodriguez - jueves, 5 de septiembre de 2019, 22:27
 

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


Imagen de Manuel Muñoz Márquez
Re: Organizar dataframe por dias de la semana
de Manuel Muñoz Márquez - viernes, 6 de septiembre de 2019, 09:36
 

Buenas:

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

Un saludo

Imagen de Leonardo Rodriguez
Re: Organizar dataframe por dias de la semana
de Leonardo Rodriguez - viernes, 6 de septiembre de 2019, 15:58
 
Exacto, Si, es asi como lo dices.


Gracias.

Imagen de Manuel Muñoz Márquez
Re: Organizar dataframe por dias de la semana
de Manuel Muñoz Márquez - viernes, 6 de septiembre de 2019, 16:56
 

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

Imagen de Leonardo Rodriguez
Re: Organizar dataframe por dias de la semana
de Leonardo Rodriguez - lunes, 9 de septiembre de 2019, 17:38
 
Muchas gracias
Imagen de Franz Jimeno
Re: Organizar dataframe por dias de la semana
de Franz Jimeno - martes, 17 de septiembre de 2019, 19:19
 

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