我正在寫一個函數,該函數給出一個路徑將查找文件夾中的所有文件,並將所有csv讀入一個xts對象。這些文件都有相同的日期陣容,我希望每個文件都是xt中的另一列。我得到了以下功能,但是我得到了temp [,1]中的錯誤:不正確的維數。我究竟做錯了什麼?將時間序列合併爲一個文本文件
make.libor.xts <- function(folder){
filenames <- list.files(path=folder, full.names=TRUE)
tables <- lapply(filenames, function(x){as.xts(read.zoo(x, sep=",", format="%Y-%m-%d", header=TRUE))})
cnames <- lapply(filenames, function(x){basename(x)})
myxts <- tables[1]
names(myxts) <- cnames[1]
if(length(filenames)>1){
for(i in 2:length(filenames)){
temp <- tables[i]
myxts$cnames[i] <- temp[,1]
}
}
return(myxts)
}
我的猜測是你想要子括號的雙括號。例如'表[[1]]',而不是'表[1]' – GSee
謝謝,幫助,現在它炸彈1:在myxts $ cnames [i] < - temp [,1]: 要替換的項目數一個替換長度的倍數,我認爲這個問題試圖動態地命名列即將添加 – postelrich
是的,因爲這不是有效的語法。嘗試'cbind' – GSee