Сортировка строк по алфавиту

r sorting apply

3795 просмотра

3 ответа

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

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

Спасибо,

Автор: y2p Источник Размещён: 22.10.2019 01:47

Ответы (3)


22 плюса

t(apply(DF, 1, sort))

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

Автор: 42- Размещён: 19.05.2011 07:53

6 плюса

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

> 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
Автор: Joshua Ulrich Размещён: 19.05.2011 07:43

2 плюса

Нет plyrответа еще ?!

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

library("plyr")

aaply(foo,1,sort)

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

Автор: Sacha Epskamp Размещён: 20.05.2011 08:05
Вопросы из категории :
32x32