我仍在学习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文件。
您知道如何解决此问题吗?