【发布时间】:2015-06-14 13:24:57
【问题描述】:
我想在 R 中读取并命名多个 .txt 文件。为了更清楚(示例):我有 2 个子文件夹,每个子文件夹包含三个 .txt 文件(它们具有相同的名称)。子文件夹 'test' 有 3 个名称为 'alpha.txt'、'bita.txt'、'gamma.txt' 的 .txt 文件,子文件夹 'train' 有 3 个名称为 'alpha.txt'、'bita.txt 的 .txt 文件','伽玛.txt'。我正在使用以下代码:
files <- dir(recursive=TRUE,pattern ='\\.txt$')
List <- lapply(files,read.table,fill=TRUE)
它给出了一个包含 6 个元素的列表,每个元素都是一个数据帧。我知道第一个元素是测试文件夹中的“alpha”,第二个元素是测试文件夹中的“bita”,依此类推。但是随着文件越来越多,我想读取数据以便在环境变量中包含:'test_alpha','test_bita','test_gamma','train_alpha','train_bita','train_gamma'。有办法吗?
【问题讨论】:
-
使用
names(List) <- files,您可以为列表的每个元素分配名称标题。从那里,您可以准确指定您想要的文件名的哪个方面。names(List) <- gsub('(.*)\\.txt', '\\1', files)之类的名称或您想要保留的其他名称。此外,您还需要上一级目录的一个方面,也可以在其中工作。
标签: r lapply read.table