我是R编程的新手,想知道如何获取1,172个文本文件的内容,并在数据框的各行中创建一个包含每个文本文件内容的数据框。
所以我想从拥有1,172个文本文档到拥有1,172行和1列的数据框,每行包含每个单独文本文件的内容。因此,数据框的第五行将包括我输入R的列表中的第五个文本文档中的文本。
谢谢,
泰勒
答案 0 :(得分:2)
# get all files with extension "txt" in the current directory
file.list <- list.files(path = ".", pattern="*.txt", full.names=TRUE)
# this creates a vector where each element contains one file
all.files <- sapply(file.list, FUN = function(x)readChar(x, file.info(x)$size))
# create a dataframe
df <- data.frame( files= all.files, stringsAsFactors=FALSE)
最后两个步骤可以合并为一个,以避免创建额外的向量:
df <- data.frame( files= sapply(file.list,
FUN = function(x)readChar(x, file.info(x)$size)),
stringsAsFactors=FALSE)
答案 1 :(得分:0)
我刚测试了这个,它对我来说很好。
# set the working directory (where files are saved)
setwd("C:/your_path_here/")
file_names = list.files(getwd())
file_names = file_names[grepl(".TXT",file_names)]
# print file_names vector
file_names
files = lapply(file_names, read.csv, header=F, stringsAsFactors = F)
files = do.call(rbind,files)