使用这样的基本功能:
myname<-function(z){
nm <-deparse(substitute(z))
print(nm)
}
我希望在遍历列表时打印(或返回)项目的名称,例如
for (csv in list(acsv, bcsv, ccsv)){
myname(csv)
}
应该打印:
acsv
bcsv
ccsv
(而不是csv)。
需要注意的是,acsv、bcsv、ccsvs都是从csvs中读入的dataframe,即
acsv = read.csv("a.csv")
bcsv = read.csv("b.csv")
ccsv = read.csv("c.csv")
编辑: 我最终使用了一些妥协。这样做的主要目标不是简单地打印框架名称 - 这是问题所在,因为它是做其他事情的先决条件。
我需要在四个格式相同的文件上运行相同的函数。然后我使用了这个语法:
for(i in 1:length(csvs)){
cat(names(csvs[i]), "\n")
print(nrow(csvs[[i]]))
print(nrow(csvs[[i]][1]))
}
然后使用嵌套列表的索引,例如
print(nrow(csvs[[i]]))
它显示了每个数据帧的行数。
打印(nrow(csvs[[i]][1]))
然后为每个数据框的第一列提供一个表格。
我包括这个是因为它是这个问题的动力。我需要能够为每个正在检查的数据框标记数据。