2015-09-04 275 views
0

請接受我的道歉,因爲我是R新手。以下代碼用於一次處理多個文件並將輸出放入單獨的文件夾。file.exists(路徑)中的錯誤:R中的'file'參數無效

require(highfrequency) 
require(quantmod) 
require(readxl) 
input_files1=list("file_path1.xlsx","file_path2.xlsx","file_path3.xlsx") #making list of file paths 

for(i in length(input_files1)) 

{ 
    bid_df<-read_excel(input_files1[i], sheet = 1, col_names = TRUE, col_types = NULL, na = "", skip = 0) 
#read_excel takes file path as first argument 
    ask_df<-read_excel(input_files1[i], sheet = 2, col_names = TRUE, col_types = NULL, na = "", skip = 0) 

    trade_df<-read_excel(input_files1[i], sheet = 3, col_names = TRUE, col_types = NULL, na = "", skip = 0) 

    qdata_df <- merge(ask_df, bid_df, by = "TIMESTAMP") 
    qdata_xts_raw<-xts(qdata_df[,-1], order.by=qdata_df[,1]) 
    qdata_xts_m<-mergeQuotesSameTimestamp(qdata_xts_raw, selection = "median") 
    trade_xts_raw <- xts(trade_df[,-1], order.by=trade_df[,1]) 
    trade_xts_m<-mergeTradesSameTimestamp(trade_xts_raw, selection = "median") 
    tqdata=matchTradesQuotes(trade_xts_m,qdata_xts_m) 
    quoted_spread<-tqLiquidity(tqdata,trade_xts_m,qdata_xts_m,type="qs") 
    qs_30<-aggregatets(quoted_spread,FUN="mean",on="minutes",k=30) 
    indexTZ(qs_30) <- "UTC" 

    write.csv(qs_30, file = file.path("output_file_path", paste0("CAN_out", i))) 
    } 

當代碼運行時,它給出file.exists以下錯誤 錯誤(路徑):無效的「文件」的說法 請刪除錯誤和運行代碼幫助。

+1

什麼是'input_files1'在你的產品代碼的內容?我猜你在發佈之前更改了代碼,否則配置很奇怪(因爲列表包含三次相同的值)。而且,'我的長度(input_files1)'應該是'我在1:長度(input_files1)'。您可以嘗試通過逐行運行代碼來追蹤錯誤。 –

+0

@ user2706569非常感謝您的好意 –

回答

0

路徑列表的訪問元素input_files1 [我]