阅读多个文本文件

时间:2015-11-05 19:36:41

标签: r text

我正在使用下面的R代码阅读附加的.txt文件。我有2200个这样的txt文件,具有不同的站ID。我只需输出可用峰值流量数据的年份。例如,

Year     Peak 
1929   4050 
1940   7000 
1958   4050 
... 

有人可以帮我修改此代码以实现此目的。

我的R代码如下所示。

rm(list=ls(all=TRUE)) 
iPath <- 'C:/Desktop/flow_raw/Region-03/' 
mydata <- read.table("02053200-PeakFlow-uptoWY2015.txt", sep="\t", header=TRUE) 
out <- mydata[c(3,5)] 

2 个答案:

答案 0 :(得分:2)

我看不到任何附件。

有多种方法可以完成任务。

library(plyr)   #you only need these packages if you follow my first Option
library(dplyr)

files <- dir("C:/Desktop/flow_raw/Region-03", 
             full.names = TRUE)


# OPT. 1: if you need a Data Frame
df <- lapply(files, function(x) 
      read.table(x, sep = '\t', header = FALSE)[c(3,5)]) %>% 
      plyr::ldply()    #the '.id' argument might be useful

# OPT. 2: if you need a list
listTxt <- lapply(files, function(x) 
           read.table(x, sep = '\t', header = FALSE)[c(3,5)])

注意:如果您需要快速阅读功能,请查看

  

data.table ::的fread

enter image description here

enter image description here

enter image description here

答案 1 :(得分:0)

如果我正确理解您的问题,您希望一次导入2200个文本文件。由于某种原因,我看不到附件,但您应该能够使用tm包中的函数Corpus读取数据。

在您的情况下:(路径应该指向所有文本文件所在的文件夹)

TextCorpus <- Corpus(DirSource("C:/Desktop/flow_raw/Region-03"))
TextCorpus$content 

您应该能够对这些文档进行子集化。我通常会列出文档的内容,以便您有一个包含原始文本的2200个元素的列表。