2011-04-06 3 views
0

CSV 파일을 읽으려면 R timeSeries 패키지를 사용하려고합니다. 이날짜의 POSIX 표현

Date Open High Low Close Volume Adj.Close 
4/4/2011 45.07 45.41 44.36 44.83 2133900 44.83 
4/1/2011 44.88 45.48 44.78 45.14 2212300 45.14 
3/31/2011 44.92 45.02 44.46 44.78 2194900 44.78 
3/30/2011 44.79 45.17 44.65 45.09 2514100 45.09 

(아래 그것의 처음 몇 줄을 있습니다)를 CSV에 날짜를 인식하지 못하는,

prices <- readSeries(file='A2006-2011.csv',head=T,sep=",",format="%m/%d/%Y") 

을하지만 :

내가 실행하려고 코드입니다 다음과 같은 경고를 출력합니다 :

Warning message: 
In readSeries(file = "A2006-2011.csv", head = T, sep = ",", format = "%m/%d/%Y") : 
    Conversion of timestamps to timeDate objects produced only NAs. 
    Are you sure you provided the proper format with argument 'format' 
    or in the header of your file ? 

아무도 나에게 도움이된다면 정말 감사하겠습니다.

+3

파일에 쉼표가 없는데도 쉼표를 필드 구분 기호로 사용하는 것이 맞습니까? – rlibby

답변

1

솔직히 말해서 문자열로 Date이라는 테이블을 읽은 다음 빠른 변환을 수행합니다. 예 :

> x = c("4/4/2011", "4/4/2011", "3/31/2011", "3/30/2011") 
## In your case you would have prices$Date = as.Date(prices$Date, ... 
> as.Date(x, "%m/%d/%Y") 
[1] "2011-04-04" "2011-04-04" "2011-03-31" "2011-03-30" 
+1

+1 예, 정확히 – Andrie

+2

당신 덕분에 실제로 그것을 알아 냈습니다. 파일의 날짜가 ""4/4/2011 "인 것처럼 보일지라도 R로 읽으면"2011-04-04 "가됩니다. 따라서 누군가가 yahoo에서 다운로드 한 csv 데이터 파일로 동일한 문제를 일으키는 경우, 형식 날짜를 입력하는 올바른 방법은 format = "% Y- % m- % d"입니다. – Alex

0

이 패키지를 사용해보십시오. speedR at https://r-forge.r-project.org/projects/speedr. 시각적 데이터 가져 오기 도구이며 Date 및 POSIXct 클래스를 지원합니다. 또한이를 사용하여 작업 공간에서 기존 R 객체를 시각적으로 필터링 할 수 있습니다.