2015-09-04 276 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 [我]