私のデータは次のようになります
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
ありがとう、
t(apply(DF, 1, sort))
このt()
関数が必要なのは、apply
一連の関数を使用した行操作が結果を列優先順で返すためです。
何を試しましたか?これは非常に簡単で、単純なループで簡単に解決できます。
> 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
plyr
まだ答えがない? !
foo <- matrix(sample(LETTERS,10^2,T),10,10)
library("plyr")
aaply(foo,1,sort)
必要がないことを除いて、DWinsの回答とまったく同じですt()