Quiero ordenar los nombres de los meses. Cuando uso la función strptime
, devuelve un error ya que los valores de los atributos solo contienen los nombres de los meses. Cuando uso la función sort
, los meses se ordenan alfabéticamente.Ordenando meses en R
9
A
Respuesta
13
Siempre puede convertir sus datos a un factor. Por ejemplo, supongamos que tenemos
x = c("January", "February", "March", "January")
continuación, para convertir a un factor, tenemos:
x_fac = factor(x, levels = month.name)
que por clasificación da:
R> sort(x_fac)
[1] January January February March
12 Levels: January February March April May June July August ... December
3
Ésta es crudo, pero si usted quiere hacer una función para ordenar u ordenar filas por mes esto funcionaría:
sort.month <- function(x, dataframe = NULL, abbreviated = FALSE){
y <- data.frame(m1 = month.name, m2 = month.abb, n = 1:12)
z <- if(abbreviated) match(x, y[, 'm2']) else match(x, y[, 'm1'])
x <- if(is.null(dataframe)) x else dataframe
h <- data.frame(z, x)
h[order(z), ][, -1]
}
#examples
x <- sample(month.name, 20, r=T)
a<-data.frame(y= x, k =1:20, w=letters[1:20])
sort.month(a$y, a)
sort.month(a$y)
+0
Gracias cargas :) :) trabajo increíble – shridatt
Cuestiones relacionadas
- 1. R Idioma - ordenando datos en rangos; promediando; ignorar valores atípicos
- 2. R regresión con meses como variables independientes (etiquetas)
- 3. Hace meses en ruby
- 4. Cómo convertir meses a años-y-meses en Java
- 5. ordenando palabras en python
- 6. Ordenando en bash
- 7. Ordenando tuplas en F #
- 8. IndexDB, WebSQL en 4 meses
- 9. Ordenando NSTableView
- 10. Ordenando LinkedHashMap
- 11. Ordenando música
- 12. Ordenando Directory.GetFiles()
- 13. Ordenando NSDictionary
- 14. Número de meses entre dos fechas
- 15. Quartz.Net - Cada 3 meses
- 16. fecha actual + 2 meses
- 17. datetime.parseexact vuelve malo meses
- 18. Ordenando un IList en C#
- 19. Ordenando una lista en Prolog
- 20. Ordenando direcciones IP en vim
- 21. Ordenando matrices coincidentes en Java
- 22. Ordenando valores dobles en JTable
- 23. Ordenando un XML en Java
- 24. Ordenando múltiples campos en MySQL
- 25. Python: Diferencia de 2 datetimes en meses
- 26. Numeración de meses basada en cero
- 27. Agregar 0 a meses en jQuery date
- 28. calcular la edad en meses y días
- 29. Ordenando NSTableColumn contents
- 30. SQLite - ordenando una tabla
Las constantes 'month.name' y' month.abb' son útiles en este sentido, por lo que no es necesario escribir los nombres de los meses, etc. Sin embargo, solo son útiles para los nombres y abreviaturas de los meses de inglés. –
también, tenga cuidado con "Feburary" - es poco probable (espero) que lo encuentre en los datos reales. Tal vez eso fue parte del motivo de la sugerencia de @ GavinSimpson –
Gracias @GavinSimpson No sabía sobre 'month.name' – csgillespie