如何使用间接引用将内容读入R中的数据表

时间:2014-07-15 00:36:23

标签: r indirect-objects

如何在R中使用间接引用?更具体地说,在下面的简单读取语句中,我希望能够使用变量名将inputFile读入数据表myTable。

  

myTable< - read.csv(inputFile,sep =",",header = T)

而不是上述内容,我想定义

  

refToMyTable< - " myTable"

那么,如何使用refToMyTable而不是myTable将inputFile读入myTable?

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

R实际上没有这样的引用,但您可以使用字符串来检索/创建该名称的变量。

但首先让我说这通常是一个好习惯。如果你想做这种事情,通常表明你不是“R路”。

然而

assign(refToMyTable, read.csv(inputFile, sep=",", header=T))

应该诀窍。 assign的补充是get,以使用它的名称检索变量的值。

答案 1 :(得分:0)

我认为你的意思如下:

reftomytable='~/Documents/myfile.csv'
myTable=read.csv(reftomytable)

答案 2 :(得分:0)

MrFlick可能提到assign

当你想要名为" myTable"的对象的内容时你会使用get

 get("myTable")
 get(refToMyTable)   # since get will evaluate its argument

(最好将多个此类数据帧的结果分配给ist对象或参考类。)

如果您需要语言名称对象,请使用as.name

as.name("myTable")
 # myTable    .... is printed at the console; note no quotes
str(as.name("myTable"))
 #symbol myTable