将多个 .csv 文件导入 R 并添加带有文件名的新列

2023-12-02

我有 80 个独立的 .csv 文件,它们具有相同的列和标题,我可以使用以下命令将其导入并绑定为一个数据帧:

 file_names <- dir("~/Desktop/data") 
 df <- do.call(rbind,lapply(file_names,read.csv))

但我想添加一个新变量(“名称”)来标识每个观察结果来自哪个 .csv 文件。例如,对于“NY.csv”文件中的所有观察结果,此变量“名称”将为“NY”,对于“DC.csv”文件中的所有观察结果,该变量“名称”将为“DC”,等等...... 有没有办法做到这一点,而无需在每个 .csv 上手动添加这个新列?谢谢!


这应该可以做到:

file_names <- dir("~/Desktop/data") 
df <- do.call(rbind, lapply(file_names, function(x) cbind(read.csv(x), name=strsplit(x,'\\.')[[1]][1])))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将多个 .csv 文件导入 R 并添加带有文件名的新列 的相关文章

随机推荐