我正在尝试加载保存在某个文件夹中的数据框。我有一个bash脚本循环文件夹中的所有*.gzip
文件,并将文件名作为参数传递给R脚本(blah.r $file_name
)。现在,在R脚本中,文件名保存为
file_name = commandArgs(TRUE)[1]
并打印正确的文件名。但是,当我尝试加载文件时
data(file_name)
R认为file_name是一个字符串,而不是一个变量,所以它说它找不到"file_name"
。
如何让R将此变量识别为变量而不是文字字符串?
答案 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
。如果是,请参阅?connections
和gzip()
函数,该函数也可以传递包含文件名的对象,如下所示:
gzip(file_name, ....)
其中....
再次是你可能需要指定的其他参数(阅读帮助页面)。