添加条件以在R中启动函数

时间:2017-11-30 15:23:00

标签: r if-statement conditional-statements

我创建了一个脚本,可以打开目录中包含的所有csv和xlsx文件。当我的目录不包含一种类型的文件时,会出现我的问题。 (例如:5 csv和0 xlsx OR 0 csv和14 xlsx) 这是我的脚本的样子:

#step 1
file.list <- list.files(pattern='*.csv')
csv_df <- lapply(file.list, read.csv, header=TRUE)

#step 2
file.list <- list.files(pattern='*.xlsx')
xlsx_df <- lapply(file.list, read_excel_function)

我收到错误消息:

Error in do.call("rbind", xlsx_df) :
le second argument doit être une liste (the second argument must be a list)

如果list.files没有返回任何内容,您是否知道如何添加跳过一步的条件?

1 个答案:

答案 0 :(得分:2)

只有file.list非空时,才能执行read / combine命令。例如:

file.list <- list.files(pattern='*.csv')
if (length(file.list) > 0){
  csv_df <- lapply(file.list, read.csv, header=TRUE)
}

如果您希望else在没有相关文件的情况下拥有其他值,您还可以添加csv_df条件。