2011-01-18 2 views
-1

R에있는 정렬 함수 order()의 특이점입니다. 함수 order()를 사용하여 column2를 기반으로하는 데이터 프레임의 column1을 정렬하고 정렬 된 데이터를 새 객체에 저장하면 원본 데이터 프레임을 모두 관측하는 대신, 그들 중 절반이있다. 어떻게한다는거야? 원본 정렬을 유지하기 위해 어떤 정렬 함수를 사용해야합니까?order()로 R을 정렬하면 데이터 프레임이 깨집니다.

+3

재현 가능한 예를 제공해주십시오. 나는 '주문'그 자체보다는 오히려 '주문'을 사용함에있어서 특이한 점이 의심 스럽다. 나는'order'를 자주 사용하고 여러분이 묘사하는 행동을 결코 경험하지 못했습니다. –

답변

4

여기에 데이터 프레임이 있습니다.

df <- data.frame(column1=letters[1:10], column2=round(runif(10) * 20)) 

당신이 설명하는대로,이 코드는 나를 위해 잘 작동합니다. 그게 당신이하려는 일 이니? 더 간단하게는

this <- df$column1[order(df$column2)] 
df[this, ] 

될 것이지만 :

df[order(df$column2), ] 

를 떨어지고 데이터 프레임의 일부 요소가 가능한가요?

관련 문제