Mi información parece,
ABCD BCAD XYMZ OMLP
¿Cómo puedo ordenar las filas para obtener algo así como
ABCD ABCD MXYZ LMOP
Gracias,
Bueno, si estás usando Python y tienes tus datos en una lista de listas, como
my_data = [ [ A, B, C, D ], [ B, C, A, D ], [ X, Y, M, Z ], [ O, M, L, P ] ]
podrías hacer una simple lista de comprensión como esta:
sorted_lists = [sorted(l) for l in my_data]
Pero como no ha especificado un idioma u otros detalles útiles, no tengo idea de si esto ayudará.
t(apply(DF, 1, sort))
La función t()
es necesaria porque las operaciones de fila con la familia de funciones apply
devuelven los resultados en orden de columna mayor.
¿Qué intentaste? Esto es realmente directo y fácil de resolver con un simple bucle.
> s <- x > for(i in 1:NROW(x)) { + s[i,] <- sort(s[i,]) + } > s V1 V2 V3 V4 1 ABCD 2 ABCD 3 MXYZ 4 LMOP
No plyr
respuesta plyr
todavía ?!
foo <- matrix(sample(LETTERS,10^2,T),10,10) library("plyr") aaply(foo,1,sort)
Exactamente lo mismo que la respuesta DWins, excepto que no necesita t()
Y, si desea ordenar en orden decreciente, definir una función
mysort <- function(x){ sort(x, decreasing = TRUE) }
Hace el truco:
t(apply(vot, 1, FUN = function(x) mysort(x)))