2017-10-06 1 views
0

비슷한 질문은 link 날짜로 열 이름으로 가지고 있습니다.데이터 프레임의 열을 날짜로 정렬하십시오. 날짜 :

test = data.frame("01-Apr-16" = c(0, 2, 4, 7, 8), 
        "01-Jan-16" = c(4, 2, 4, 7, 8), 
        "01-Dec-16" = c(1, 3, 8, 3, 2)) 

나는이 솔루션은 test[ , order(names(test))]이 작동하지 않습니다 제공

new_names = apply(data.frame(names(test)), 1, function(x) as.Date(strptime(x,format = "%d-%b-%y"))) 
colnames(test) = new_names 

해당하는 숫자 형식으로 날짜를 변환했다. 문제에 대한 효율적인 해결책이 있습니까?

열 이름에 날짜의 원래 형식을 유지하는 외부 .csv 파일에서 데이터 프레임을 읽었습니다. 당신은 apply 할 필요가 없습니다

답변

2

, 제공

i1 <- as.Date(names(test), format = 'X%d.%b.%y') 
test[order(i1)] 

,

X01.Jan.16 X01.Apr.16 X01.Dec.16 
1   4   0   1 
2   2   2   3 
3   4   4   8 
4   7   7   3 
5   8   8   2 
관련 문제