我想读取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)
等。
答案 0 :(得分:1)
使用列表。您无法将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="."))
}