2013-10-03 1 views
1

R 3.0.2을 사용 중이며 xts 형식으로 변환하려는 데이터 프레임에 CSV를로드했습니다.데이터 프레임의 R에서 행 이름 변환에 오류가 발생했습니다.

내 데이터는이 post에서이

head(data) 
      V1  V2  V3  V4  V5  V6  V7  V8  V9 
1 1999-01-04 1.1812 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120 
2 1999-01-05 1.1760 1.17860 1.17860 1.17860 1.17860 1.17860 1.17860 1.17860 
3 1999-01-06 1.1636 1.17360 1.17360 1.17360 1.17360 1.17360 1.17360 1.17360 
4 1999-01-07 1.1672 1.17200 1.17200 1.17200 1.17200 1.17200 1.17200 1.17200 
5 1999-01-08 1.1554 1.16868 1.16868 1.16868 1.16868 1.16868 1.16868 1.16555 
6 1999-01-11 1.1534 1.16613 1.16613 1.16613 1.16613 1.16613 1.16312 1.15990 

다음과 같은 조언 같은 내가 그러나 나는 다음과 같은 오류를 찾을 수 없습니다 얻을하는

rownames(data) = data[1] 

을 다음과 같이 행 이름을 변환하려고 보인다 내 길 주위

Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
    invalid 'row.names' length 
+2

'rownames (data) = data [, 1]'을 사용해보세요. – A5C1D2H2I1M1N2O1R2T1

+0

트릭을 한 @AnandaMahto! – pyCthon

+0

그리고 Dirk의 대답은 최종 목표가 xts로 변환되는 경우 따라야 할 최상의 방법입니다. 'dataxts <- xts (data [, - 1], order.by = data [, 1])'로 시작한다. 기본적으로 "첫 번째 열에서 발견 된 시간 값에 따라 정렬 된, 첫 번째 열을 제외한 모든 열의 데이터 사용"으로 변환됩니다. – A5C1D2H2I1M1N2O1R2T1

답변

2

매우 관대 한 의견을 바탕으로 은 간단한 해결책입니다.

+3

당신은 데이터를 읽는 방법에 따라'data [, 1] <- as.Date (data [, 1])', 아마도 as.character (data [, 1])'를 사용하고 싶다고 생각합니다. rownames를 Date 객체로 만들면 첫 번째 열이 하나 만들어지지 않으며 여기에서 사용하는 것입니다. –

+3

아마 당신의 이익을 위해, 조금 탐험해볼 수 있고 내가 왜 의견에서 공유 한 해결책이 효과가 있는지 이해하려고 노력할 수 있습니다. str (data [[1]]) 또는'str (data [, 1]) '와 달리'str (data [1])'을 보라. 또한'? xts'에서 "order.by'는 고유 한 시간/날짜 *에 해당하는 벡터입니다. – A5C1D2H2I1M1N2O1R2T1

+0

좋은 캐치와 매우 유용한 팁과 힌트 – pyCthon