Сортировка строк по алфавиту - PullRequest
4 голосов
/ 19 мая 2011

Мои данные выглядят так:

A    B    C    D
B    C    A    D
X    Y    M    Z
O    M    L    P

Как отсортировать строки, чтобы получить что-то вроде

A    B    C    D
A    B    C    D
M    X    Y    Z
L    M    O    P

Спасибо,

Ответы [ 3 ]

22 голосов
/ 19 мая 2011
t(apply(DF, 1, sort))

Функция t() необходима, поскольку операции со строками с семейством функций apply возвращают результаты в главном порядке столбцов.

6 голосов
/ 19 мая 2011

Что вы пробовали? Это действительно просто и легко решить с помощью простого цикла.

> s <- x
> for(i in 1:NROW(x)) {
+   s[i,] <- sort(s[i,])
+ }
> s
  V1 V2 V3 V4
1  A  B  C  D
2  A  B  C  D
3  M  X  Y  Z
4  L  M  O  P
2 голосов
/ 20 мая 2011

Нет plyr ответить еще?!

foo <- matrix(sample(LETTERS,10^2,T),10,10)

library("plyr")

aaply(foo,1,sort)

Точно так же, как ответ DWins, за исключением того, что вам не нужно t()

...