在R语言中如何将自定义变量作为文件路径的一部分?
嗨Max,我来帮你搞定这个R脚本里的路径拼接问题~
你遇到的问题根源在于:R里双引号包裹的字符串是纯字面量,不会自动解析里面的$n变量——它会直接把$n当成路径的一部分,自然找不到对应的文件啦。下面给你两种常用的正确写法:
方法1:用基础R的paste0()拼接字符串
paste0()是R自带的函数,专门用来无缝拼接多个字符串部分,不需要额外安装包,非常实用:
options(max.print=9999999) n <- readline(prompt="Input Analysis Nr: ") # 把路径的固定部分和变量n拼接起来 file_path <- paste0("C:/Documents/Analysis/", n, "/", n, "_20.csv") d20 <- read.csv(file_path, header = TRUE, row.names = NULL)
方法2:用glue包做字符串插值(更易读)
如果你的路径结构比较复杂,用glue包的字符串插值会让代码更直观,一眼就能看出变量在哪里:
首先需要先安装一次glue包(之后不用重复安装):
install.packages("glue")
然后修改你的代码:
options(max.print=9999999) library(glue) # 加载包 n <- readline(prompt="Input Analysis Nr: ") # 直接在字符串里用{变量名}插入值 d20 <- read.csv(glue("C:/Documents/Analysis/{n}/{n}_20.csv"), header = TRUE, row.names = NULL)
另外小提醒:输入的n最好是符合文件路径规则的字符(比如不要有空格、特殊符号),不然可能还是会出现路径找不到的情况哦~
内容的提问来源于stack exchange,提问作者M. Gutier
相关产品推荐
相关产品推荐

