如何直接引用名称为字符串对象的R对象?

时间:2019-02-28 07:14:31

标签: r

我想读取csv文件,然后根据文件名在每个对象中附加列名,如下所示:

for (fname in c("abc", "def", "ghi")) {
    assign(fname, read.csv(paste(HOMEDIR, fname, pnl.csv, sep="/")))
    names(?) = paste(names(?), fname, sep="."))
}

我在重命名部分遇到问题。什么应该代替?

我尝试了get(fname)as.name(fname)as.symbol(fname)等。

1 个答案:

答案 0 :(得分:1)

使用列表。您无法将getnames<-分配结合使用,因为get返回对象的临时副本。而且显然您不需要。您的做法是错误的做法。使用列表。

mylist <- list()

for (fname in c("abc", "def", "ghi")) {
    mylist[[fname]] <- read.csv(paste(HOMEDIR, fname, pnl.csv, sep="/"))
    names(mylist[[fname]]) <- paste(names(mylist[[fname]]), fname, sep="."))
}