使用适当的标头读取R中的多个文件

时间:2014-06-17 14:04:50

标签: r

我正在尝试使用以下代码读取R中的多个文件(大约1000个文件):

for (i in 1:length(top100.files)) assign(top100.files[i], read.table(top100.files[i]))

当我尝试

head(top100.files[[1]])

我得到列表的第一个元素:

top.1.file

当我尝试head(top.1.file)时,我得到:

    V1    V2    V3
1 string Desc  occ
2 xxxxxx Desc1  51
3 xxxxxy Desc2   9
4 xxxxxg Desc3  23
5 xxxxxz Desc4  23
6 xxxxyx Desc5  22

正如我们所看到的,我的实际标题(String,desc,occ)已成为我表格的一部分。

请您帮我解决如何使用相应的文件标题阅读多个文件,以便我们获取:

  string Desc  occ
1 xxxxxx Desc1  51
2 xxxxxy Desc2   9
3 xxxxxg Desc3  23
4 xxxxxz Desc4  23
5 xxxxyx Desc5  22        

2 个答案:

答案 0 :(得分:1)

在此尝试:

ll <- lapply(X=top100.files, FUN=read.table, header=TRUE) 

答案 1 :(得分:0)

以下代码对我有用,标题很完美,但我的文件采用csv格式:

setwd("put the path of the directory, where you have kept the files to be read")
    path <- "put the path of the directory, where you have kept the files to be read"
    setwd(path)

    read_multiple<-function(){
      files <- list.files(path=path, pattern="*.csv") # for csv files
      df<-NULL
      for (f in files) {
        sdf<-read.csv(file=f)
        if (nrow(sdf)>0){
          df<-rbind(df,sdf)
        }
       }
      return(df)
    }

    ndf <- read_multiple()
    head (ndf)