我正在使用下面的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)]
答案 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
答案 1 :(得分:0)
如果我正确理解您的问题,您希望一次导入2200个文本文件。由于某种原因,我看不到附件,但您应该能够使用tm包中的函数Corpus读取数据。
在您的情况下:(路径应该指向所有文本文件所在的文件夹)
TextCorpus <- Corpus(DirSource("C:/Desktop/flow_raw/Region-03"))
TextCorpus$content
您应该能够对这些文档进行子集化。我通常会列出文档的内容,以便您有一个包含原始文本的2200个元素的列表。