r - 使用 purrr::walk 保存文件 - 无效的 'description' 参数

标签 r purrr

我在使用循环保存文件时遇到问题。我首先编写了一个无需循环即可运行良好的函数。但是,它总是因循环而失败。 谁能告诉我原因吗?

a<-c(1,2,3)
b<-c(4,5,6)
c<-c(7,8,9)

data<-data.frame(a,b,c)
path<-list('path1/', 'path2/')

test<-function(data,path){
  write.csv(data,file = paste0(path,'result.csv'))
}

purrr::walk(path, test(data=data, path=path))
# Warning in if (file == "") file <- stdout() else if (is.character(file)) { :
#   the condition has length > 1 and only the first element will be used
# Error in file(file, ifelse(append, "a", "w")) : 
#   invalid 'description' argument

最佳答案

关于condition has length的警告是因为你正在通过 path=path长度为 2,file= write.csv 的参数期望长度为 1。

你认为你正在使用 walk迭代值,但您需要使用函数或 ~准函数。

这个有效:

purrr::walk(path, ~ test(data=data, path=.))

.也可以是.x并且是要走的第一个参数中每个值的占位符:path .一个“标准”函数的使用是

purrr::walk(path, function(P) test(data=data, path=P))

(这也有效)。

关于r - 使用 purrr::walk 保存文件 - 无效的 'description' 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70797483/

相关文章:

删除R中的大括号

r - 将变量转换为 %H :%M time format in R

python - 将一组值放入数据框内的单元格中

r - tidyverse:一个变量与 data.frame 中所有其他变量的交叉表

r - 如何在 purrr map2 中使用嵌套匿名函数?

r - 获取使用purrr::map创建的列表项的名称

r - 关于 ggplot2 : Rotate geom_point shape & Show geom_text above the line

r - 在 R 中确定和设置 POSIXct、POSIXlt、strptime 等中的时区

r - 使用 group_split,将单个值添加到列表中的每个项目以循环和累加

r - 将 data.frame 列名称传递给使用 purrr::map 的函数