【发布时间】:2020-09-27 17:17:06
【问题描述】:
我正在使用 R 进行一些数据分析。我将数据保存在与其来源年份相关的单独文件夹中。在每个 year 文件夹中都有几个类别文件夹,每个类别文件夹都有需要导入的 .csv 和 .dat 文件。文件名的结构类似“category_outlet_timeinterval.csv”或“.dat”。每年包含相同的类别,每个类别包含相同类型的文件,只是时间间隔不同。
我需要从几个不同的文件夹中导入这些文件,并为年份、类别和出口添加一列。要进入这些列的值需要从每个文件名中读取。添加列后,文件将合并到一个数据框中。
我已经使用 fread 完成了合并部分:
# (1) Create File List
csv_files <- list.files (path = "R/win-library/Practice",
pattern = "*.csv",
recursive = T,
full.names = T)
# (2) Import All csv with 'fread()'
DATA_ALL <- rbindlist (lapply (csv_files, fread))
view(DATA_ALL)
问题:
-我可以从文件名中检索信息作为子字符串并相应地创建列的最有效方法是什么?
-我必须将每个文件都设为数据框,还是可以从文件列表中全部完成?这个问题的主要原因是文件很大。
我是 R 的初学者,并试图掌握它。抱歉,如果我不清楚。提前致谢!
【问题讨论】:
标签: r dataframe merge data-analysis fread