String 在变量中加载字符串而不是变量的名称(R)

String 在变量中加载字符串而不是变量的名称(R),string,r,variables,load,String,R,Variables,Load,我正在尝试加载保存在特定文件夹中的数据帧。我有一个bash脚本,它沿着文件夹中的所有*.gzip文件循环,并将文件名作为参数传递给R脚本(blah.R$file\u name)。现在,在R脚本中,文件名保存为 file_name = commandArgs(TRUE)[1] 并打印正确的文件名。但是,当我尝试加载文件时 data(file_name) R认为文件名是一个字符串,而不是一个变量,所以它说它找不到“文件名” 如何让R识别这个变量是变量而不是文字字符串?这个问题的答案是 read

我正在尝试加载保存在特定文件夹中的数据帧。我有一个bash脚本,它沿着文件夹中的所有
*.gzip
文件循环,并将文件名作为参数传递给R脚本(
blah.R$file\u name
)。现在,在R脚本中,文件名保存为

file_name = commandArgs(TRUE)[1]
并打印正确的文件名。但是,当我尝试加载文件时

data(file_name)
R认为文件名是一个字符串,而不是一个变量,所以它说它找不到
“文件名”


如何让R识别这个变量是变量而不是文字字符串?

这个问题的答案是

 read.table(file = file_name, ....)
其中,
是用于指定包含要加载的数据的文本文件的性质的附加参数

如果数据不是在文本文件中,而是在其他格式(可能是二进制)中,则需要使用正确的函数来导入这些数据。例如,如果数据以R的一种格式存储(通过
save()
saveRDS()
),则:


其中,
是您可能需要指定的进一步参数(请阅读帮助页)。

这不是旧问题的重复。这是关于访问给定名称的变量;这是关于从磁盘读取数据集的。因此,
get(*)
在这里不适用。@HongOoi:太棒了。投票重新打开。您不能使用
data()
函数将数据加载到R中。这是为了从已安装的软件包中加载示例数据。
load(file = file_name) ## for save()-ed objects

foo <- readRDS(file = file_name) ## for objects serialised via saveRDS()
gzip(file_name, ....)