2012-07-08 2 views
0

R에 일부 xts 데이터를로드하고 지정한 날짜/시간으로 정렬하는 함수를 작성하려고합니다. 어쩌면 내가 너무 단순한 방법을 시도하지만, 여기에 내 코드입니다 해요 :xts 데이터를로드하는 함수 R

load.data <- function (x, time1, time2) #x is going to be the actual file name 
{ 
    vector = get(load("C:/Users/username/Desktop/x")) 
    sortvector = vector['time1/time2/'] 
    return (sortvector) 
} 

그리고 내가 그것을 실행할 때, 내가 메시지를 얻을 : 그래서

In readChar(con, 5L, useBytes = TRUE) : 
    cannot open compressed file 'C:/Users/username/Desktop/x', probable reason 'No such file or directory' 

을, 어떻게 있도록 만들 수 있습니다 내 함수 실제로 실제 제네릭 'x'대신 파일 이름을 검색 할 것인가? 나는 분명히 희망하고, 나는 분명히 어떤 도움을 크게 감사 할 것입니다.

+1

'sortvector'가 무엇을 원하는지 잘 모르겠습니다. '? '[. xts''를보십시오. – GSee

답변

2

사용 paste 또는 paste0 또한

load.data <- function (x, time1, time2) #x is going to be the actual file name 
{ 
    vector = get(load(paste0("C:/Users/username/Desktop/", x))) 
    sortvector = vector[paste(time1, time2, sep='/')] 
    return(sortvector) 
} 

?FinancialInstrument:::saveSymbols.days?FinancialInstrument:::getSymbols.FI보고, 저장 및로드 xts 객체

의 예는 이러한 기능에 대한 코드를 살펴 편집

예를 들면 다음과 같습니다.

set.seed(123) 
dat <- xts(cumsum(rnorm(100)), as.POSIXct("2012-05-23") + 1:100*60*60*6) 
tmpdir <- tempdir() 
save(dat, file=file.path(tmpdir, "dat.RData")) 
rm('dat') 

time1 <- "2012-05-24 10:00:00" 
time2 <- "2012-05-25 11:00:00" 
vector = get(load(paste(tmpdir, "dat.RData", sep="/"))) 
sortvector = vector[paste(time1, time2, sep='/')] 
sortvector 
#       [,1] 
#2012-05-24 12:00:00 -2.044404 
#2012-05-24 18:00:00 -2.829308 
#2012-05-25 00:00:00 -4.497250 
#2012-05-25 06:00:00 -4.877477 
+0

감사합니다. 도움을 청합니다! 나는 이것이가는 길인 것처럼 느껴진다. 그러나 지금 내가 NA를 얻고 있기 때문에 내가 놓치고있는 것이있다. 귀하의 질문에 관해서는, 나는 sortvector가 'time1'에서 'time2'까지의 데이터 만 추출하는 벡터가되고 싶습니다. 예를 들어 time1과 time2를 입력으로 지정합니다. – user1493629

+0

예 : 벡터 [ '2012.05.24 10 : 00 : 00/2012.05.25 11:00:00'] – user1493629

+0

'2012-05-24 10 : 00 : 00/2012-05-25 11:00:00 '] – GSee