2
나는 여러 파일에서 XTS의 시계열을로드하고 하나의 XTS 매트릭스에 병합하려면 다음 R 코드를 가지고있는 방법R : 단일 블록에 여러 파일에서로드 XTS 시리즈
에 있습니까load.files = function(dates, filenames) {
for(i in 1:length(dates)) {
# load and merge each xts block
ts.set = load.single.file(dates[i], filenames[i])
if(i == 1)
ts.all = ts.set
else
ts.all = rbind(ts.all, ts.set)
}
return(ts.all)
을
- 첫 번째 ts.set을 초기화하는 데 필요한 if/else 문을 사용하지 마십시오.
- for 루프를 피하십시오?
이것은 작동하는 것처럼 보이지만 lapply를 호출하면 이러한 경고 메시지가 표시됩니다. 무슨 뜻이에요? 내 버전에서는 l = lapply (dates, load.ets.trades, filenames)라는 추가 매개 변수를 사용합니다. 경고 메시지 : 1 : 파일 (파일, "rt") : 'description'인수의 첫 번째 요소 만 used 2 : 파일 (파일, "rt") : 'description'인수의 첫 번째 요소 만 사용됩니다. –
파일 이름은 목록/벡터이지만 load.ets.trades는 단일 문자열을 필요로합니까? 파일 이름 [i]에 dates [i]를 사용할 때 _smell_이 잘못되었습니다. 대신 데이터 프레임/행렬에 두 개의 열로 표시하는 것이 더 강력합니다. (그런 다음() 또는 apply()를 사용하십시오. http://stackoverflow.com/questions/1699046/foreach-row-in-an-r-dataframe 참조) –
@DarrenCook에 언급 된 바와 같이, 그 경고는 'load.ets.trades()'는'filenames' 벡터 전체에 전달되고 있습니다. 첫 번째 것만 반복해서 사용하며 그렇게하고 있음을 경고합니다. 내가 사용하고자하는 해결책은'mapply()'를 사용하는 것인데,이 상황을 위해서만 설계되었습니다. 당신의 호출은'l <- mapply (FUN = load.ets.trades, date = dates, filename = filename)'과 같은 형태로 보일 것입니다.'date'와'filename'는'load.ets . 이 문제가 귀하의 문제를 해결할 경우 저희에게 알려주십시오. –