我正在使用map函数循环一个文件夹中的多个csv文件。我想使用csv文件名的分片版本保存循环的结果。但是当我试图将结果保存到csv文件时,我收到了一个错误。下面是我的代码
library(tidyverse)
library(fs)
library(dismo)
file_paths <- fs::dir_ls("loop/")
file_paths %>%
map(function (path){
all_data <- read_csv(path, show_col_types = FALSE)
name <- tools::file_path_sans_ext(basename(file_paths))
print(name)
t_max <- all_data[,c(2)]
t_min <- all_data[, c(3)]
rain_fall <- all_data[,c(4)]
res <- data.frame(biovars(t_max, t_min, rain_fall))
myfile = sprintf("%s_bio.csv", name)
write_csv(res, file=myfile, col_names = TRUE)
})
错误:
Error in if (is_url(path)) { : the condition has length > 1
1条答案
按热度按时间myzjeezk1#
你在
map
中使用的是full_paths
的完整向量,你应该只使用单数的path
: