我想读取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)
等。
使用列表。您无法将get
与names<-
赋值相结合,因为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="."))
}