R 读取 csv 错误。从另一个值传递文件名

R read csv error. passing file name from another value

我在 R

的 read.csv 命令中传递要用作文件名的值时出错

我有一堆 csv 文件,每个文件都分配了一个值 Mx_csv,例如 x 是 1 到 8 之间的一个数字。

M3_csv <- "123123_out.csv"
M4_csv <- "178787_out.csv"

我 select 我想通过更改 1 行代码来处理哪个 M:

Ma = "M4" // that then tells all following code which M to use
setwd(paste0("D:/RA_",Ma))  // sets the working directory folder RA_M4 

filenm <- paste0(Ma,"_csv")
Mn <- read.csv(file = filenm,header = TRUE)

在这种情况下,x 变为“M4_csv”,但不是 read.csv 命令加载 178787_out.csv,而是尝试加载名为 M4_csv 的文件和错误。

我确定这是一个简单的修复,但 google 没有帮助我找到答案

非常感谢您的帮助

一种选择是将您的文件名放入列表中。此外,可能没有必要切换工作目录,因为您可以使用例如将数据文件的路径添加到文件名中。 file.path:

fn_list <- list(
  M3 = "123123_out.csv",
  M4 = "178787_out.csv"
)

Ma <- "M4"
filenm <- file.path(paste0("D:/RA_",Ma), fn_list[[Ma]])
filenm
#> [1] "D:/RA_M4/178787_out.csv"

Mn <- read.csv(file = filenm, header = TRUE)