使用多个文本文件的内容在 R 中创建数据框

Creating a data frame in R with the content of multiple text files

我是 R 编程的新手,想知道如何获取 1,172 个文本文件的内容并创建一个数据框,其中每个文本文件的内容在数据框中的单独行中。

所以我想从拥有 1,172 个文本文档到拥有一个包含 1,172 行和 1 列的数据框,每一行都包含每个单独的文本文件的内容。因此,数据框的第五行将包含我输入 R 的列表中第五个文本文档的文本。

谢谢,

泰勒

# 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)

最后 2 个步骤可以合并为一个步骤,以避免创建额外的向量:

df <- data.frame( files= sapply(file.list, 
                                FUN = function(x)readChar(x, file.info(x)$size)),
                  stringsAsFactors=FALSE)

我刚刚测试了这个,对我来说效果很好。

# 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)