[英]How to read in file with dynamic name while avoiding hard-coding in R?
我在使用动态名称读取 csv 文件并避免对文件路径进行硬编码时遇到问题。 我想要简洁的代码(非硬编码)。 如果我对完整路径(“~”之前的所有内容)进行硬编码,它可以很好地读取文件。 但是软编码(如果这与硬编码相反)它给出错误的文件路径(尽管在错误中显示了正确的路径。我有两个可变部分的文件名,我在读取之前粘贴到文件名中在。如果我避免粘贴,只为每个人输入一个路径,它也可以工作。
#dynamic part I usually have in a loop with all the options.
part_a <- "outside" #other options here in my loop include "inside"
part_b <- "late" # other option "early" or "preterm"
#reading in the df
df <-read.csv(paste0("~/Data/FromR/clean_",part_a,part_b,"_2016.csv"),
check.names=FALSE, na.strings="null")
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'C:/Users/myname/Documents/Data/FromR/clean_outsidelate_2016.csv': No such file or directory
如果我在粘贴的第一部分使用getwd()
代替~
,如建议的here ,它通过在粘贴开始时生成此字符串"C:/Users/myname/Documents/MyR_Projects/Specific_R_project/"
来工作。 但是我怎样才能让它与“〜”一起工作? 当使用~
它停在“文档”文件夹...
期望的结果是读取文件而不会出错执行功能并与其他文件重复。 我的循环可以很好地硬编码,我只想让它更通用或软编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.