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

时间:2012-10-18 00:01:41

标签: string r variables load

我正在尝试加载保存在某个文件夹中的数据框。我有一个bash脚本循环文件夹中的所有*.gzip文件,并将文件名作为参数传递给R脚本(blah.r $file_name)。现在,在R脚本中,文件名保存为

file_name = commandArgs(TRUE)[1]

并打印正确的文件名。但是,当我尝试加载文件时

data(file_name)

R认为file_name是一个字符串,而不是一个变量,所以它说它找不到"file_name"

如何让R将此变量识别为变量而不是文字字符串?

1 个答案:

答案 0 :(得分:2)

对此提出的问题的回答是

 read.table(file = file_name, ....)

其中....是指定包含您要加载的数据的文本文件性质的附加参数。

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

load(file = file_name) ## for save()-ed objects

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

您提到的文件是*.gzip。如果是,请参阅?connectionsgzip()函数,该函数也可以传递包含文件名的对象,如下所示:

gzip(file_name, ....)

其中....再次是你可能需要指定的其他参数(阅读帮助页面)。