2013-11-09 4 views
0

프레임을 두 개의 열로 정렬하려면 하나는 숫자이고 다른 하나는 factor 열입니다.R : 두 개의 프레임으로 정렬하기 요인이있는 열

예 :

myFrame <- myFrame[order(myFrame$Size,myFrame$Length)] 

는 그러나, 나는 "Big""Medium""Small""Very Small"에서 열 크기를 정렬 할과 단순히 알파벳 :

Values Size  Length 
1  "Small"  10 
2  "Big"  6 
3  "Small"  30 
4  "Medium"  22 
5  "Very Small" 17 
6  "Small"  16 

내가 두 개의 열로 데르하는 방법을 알고 .

결과는 다음과 같아야합니다

Values Size   Length 
5  "Very Small" 17 
1  "Small"  10 
3  "Small"  30 
6  "Small"  16 
4  "Medium"  22 
2  "Big"   6 

어떻게이 요인 열에 따라 데이터 집합을 정렬 할 수 있습니다?

+0

안녕하세요! Stackoverflow에 오신 것을 환영합니다. 나는 그 질문에 대해 찬성표를 던진 사람이 아니지만, 그 질문이 왜 투표에 실패했는지에 대한 몇 가지 이유를 제시하고자한다. 귀하가 제공 한 데이터는 R로 직접 읽는 것이 어려웠으며 질문을하기 전에 시도했던 것을 보여주지 못했습니다. 의견은 _ 쇼 _ 많은 _ 작업에 나뉘어져 있지만, 첫 x 째 이유에 대해서는 _FAQ_를보고 나중의 질문에서 더 나은 데이터를 제공하십시오. http://stackoverflow.com/questions/5963269/how-to-make- a-great-r-reproducible-example 나는 개인적으로 그것이 좋은 질문이라고 생각한다. 계속 묻는다. :) –

답변

1

당신은 ordered factor listSize 열을 변환 할 수 있습니다

> d <- read.table(header=T, text=' Values Size  Length 
+  1  "Small"  10 
+  2  "Big"  6 
+  3  "Small"  30 
+  4  "Medium"  22 
+  5  "Very Small" 17 
+  6  "Small"  16') 

> d$Size <- factor(d$Size, levels=c("Very Small", "Small", "Medium", "Big")) 
> d[order(d$Size), ] 
    Values  Size Length 
5  5 Very Small  17 
1  1  Small  10 
3  3  Small  30 
6  6  Small  16 
4  4  Medium  22 
2  2  Big  6