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

问题描述 投票:-3回答:1

我想读取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)等。

r
1个回答
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="."))
}
© www.soinside.com 2019 - 2024. All rights reserved.