如何在用户定义的函数中的write.csv参数中放置字符串

时间:2019-07-18 03:07:27

标签: r csv

我仍在学习R的精髓。我对在用户定义的函数中使用write.csv函数来创建唯一命名的可导出csvs感到疑问。

例如:

pie_final <- function(num_animal) {
  anim_prac <- animal[num_animal]
  out_anim <- capture.output(anim_prac)
  out_final_calc <- as.character(strsplit(out_anim, " ")[[1]][2]) 
  samp_anim <- registry[(registry$Animal == anim_prac),]
  out_final_calc
}

pie_final_2 <- function(num_animal) {
  anim_prac_2 <- animal[num_animal]
  out_anim_2 <- capture.output(anim_prac_2)
  out_final_calc_2 <- as.character(strsplit(out_anim_2, " ")[[1]][2]) 
  samp_anim_2 <- registry[(registry$Animal == anim_prac_2),]
  samp_dis
}

csv_name <- function(x){
  (write.csv(
    do.call(
      "<-", 
      list(pie_final(x), pie_final_2(x))
    ), 
    cat(sprintf("file=\"%s.csv\"", pie_final(x)))
  ))
}  

前两个功能正常工作。但是,我希望csv_name函数每次都使用具有唯一名称的write.csv函数输出书面的csv文件。例如,我希望file = argument函数中的write.csv将打印pie_final(x)(它是一个字符串),后跟.csv

运行该函数时,出现以下错误。

file="Falcon.csv"
Error in if (file == "") file <- stdout() else if (is.character(file)) { : argument is of length zero 

因此,似乎正在生成write.csv函数的第二个参数(file = "Falcon.csv"),但似乎没有正确插入它来执行整个write.csv函数

我的最终目标是让最终功能生成唯一命名的可导出csv文件。

您知道如何解决此问题吗?

0 个答案:

没有答案