正确使用R中的readLines()和strsplit()从文件中提取数据

时间:2015-02-13 21:11:24

标签: regex r strsplit

我正在尝试将包含许多文件(没有.csv或.txt)的大数据集读入R并且必须使用readLines()函数,因为文件没有以任何方式格式化,R可以读作表格。数据如下所示:

       Versuchsflaeche  1011  Parzelle  1  Baumnummer  6    30

                                 Scheibenhoehe¹ (m)
 Stock- Alter Jahr  Hoehe   0.00   0.30   1.30   6.60  11.80  16.00  18.00  20.00


   1     4   1935   0.44   0.91   0.44                                          
   2     5   1936   0.80   1.47   1.00                                          
   3     6   1937   1.18   2.06   1.59                                          
   4     7   1938   1.48   2.44   1.97   0.40                                   
   5     8   1939   1.95   2.56   2.18   0.91

..等等。因此,当我读取文件时,我得到一个字符变量,其中每个字符串是一行。事实上,每个文件包含6个表,因此我开始使用grep()为每个表的开头和结尾标识相关部分。现在我想将文件的所有表组合成一个data.frame,但我正在努力以正确的方式使用strsplit()。代码如下所示:

  for( ..
      dat<-readLines(directory, files[i])

      x<-dat[grep(identify, dat)[1]:(grep(identify2)]
      x<-[-(2:3]
      all.data<-data.frame(lapply(x, function(x) strsplit(x,"\\s"))

事实上,它并不像我想要的那样工作。我的目标是最后有一个data.frame,其中数字部分为row.names,其余部分为单个数字值和NA。

我会很高兴得到任何帮助!

0 个答案:

没有答案