将文件名作为列标题插入数据框中

时间:2019-10-10 08:25:45

标签: r dataframe rstudio

我对R来说还比较陌生,我无法找到一种特别适合我的问题的解决方案。

我创建了许多csv的列表。文件。每个文件的名称是日期 “ yyyy-mm-dd”的形式。 (文件中没有任何内容可以帮助我 标识文件生成的日期,只有文件名具有 该信息。)

然后我读入file_list中的每个.csv文件,并使用以下代码创建数据帧:

for (i in 1:length(file_list)){
  aux<-readLines(paste(folder,file_list[i], sep = "")) %>%
    str_replace_all(" %", "") %>% 
    head(-2)
  aux2<-lapply(aux, function(x){drop_trailing_semicolon(x)}) %>% unlist()

  assign(file_list[i],read.csv(text=paste0(aux2, collapse="\n "), skip=5, header=TRUE, sep=";", dec=",",stringsAsFactors =FALSE, na.strings=c("-", " ")))
}

然后我将所有data.frames放入一个列表中。我将需要比较不同日期的数据,但是我将无法确定数据的收集日期。因此,我想将文件名作为相应文件中新列的标题插入。 他们有办法在我使用的函数中插入列吗?甚至是完全不同的解决方案?

任何帮助将不胜感激。 先感谢您, 安妮卡

1 个答案:

答案 0 :(得分:1)

您可以使用姓名names(listOfDataFrames) <- file_list

a = list(1,2,3)
names(a) = c("first", "second", "third")

a$first
[1] 1