在 R 中按标识符和 open/process 子集组织 csv

Organize csv by identifier and open/process subset in R

我有以下 CSV 文件:

files = c("C:\Users\sh\/2018/April 17 2018/user_22226.csv", 
"C:\Users\sh\/2018/April 17 2018/user_22227.csv", 
"C:\Users\sh\/2018/April 17 2018/user_22228.csv", 
"C:\Users\sh\/2018/April 17 2018/user_22232.csv", 
"C:\Users\sh\/2018/April 2 2018/user_21785.csv", 
"C:\Users\sh\/2018/April 2 2018/user_21815.csv", 
"C:\Users\sh\/2018/April 2 2018/user_21821.csv", 
"C:\Users\sh\/2018/April 2 2018/user_21822.csv", 
"C:\Users\sh\/2018/April 2 2018/user_22226.csv", 
"C:\Users\sh\/2018/April 2 2018/user_22227.csv", 
"C:\Users\sh\/2018/April 2 2018/user_22228.csv", 
"C:\Users\sh\/2018/April 2 2018/user_22230.csv", 
"C:\Users\sh\/2018/April 2 2018/user_22232.csv", 
"C:\Users\sh\/2018/April 23 2018/user_22921.csv", 
"C:\Users\sh\/2018/April 9 2018/user_22226.csv", 
"C:\Users\sh\/2018/April 9 2018/user_22227.csv", 
"C:\Users\sh\/2018/April 9 2018/user_22228.csv", 
"C:\Users\sh\/2018/April 9 2018/user_22230.csv", 
"C:\Users\sh\/2018/April 9 2018/user_22232.csv", 
"C:\Users\sh\/2018/August 13 2018/user_29607.csv")

我可以通过结尾标识符组织它们:

files_sorted = files[order(gsub('.*_(\d{5})[.].*','\1',files))]

给我:

 [1] "C:\Users\sh\/2018/April 2 2018/user_21785.csv"  
 [2] "C:\Users\sh\/2018/April 2 2018/user_21815.csv"  
 [3] "C:\Users\sh\/2018/April 2 2018/user_21821.csv"  
 [4] "C:\Users\sh\/2018/April 2 2018/user_21822.csv"  
 [5] "C:\Users\sh\/2018/April 17 2018/user_22226.csv" 
 [6] "C:\Users\sh\/2018/April 2 2018/user_22226.csv"  
 [7] "C:\Users\sh\/2018/April 9 2018/user_22226.csv"  
 [8] "C:\Users\sh\/2018/April 17 2018/user_22227.csv" 
 [9] "C:\Users\sh\/2018/April 2 2018/user_22227.csv"  
[10] "C:\Users\sh\/2018/April 9 2018/user_22227.csv"  
[11] "C:\Users\sh\/2018/April 17 2018/user_22228.csv" 
[12] "C:\Users\sh\/2018/April 2 2018/user_22228.csv"  
[13] "C:\Users\sh\/2018/April 9 2018/user_22228.csv"  
[14] "C:\Users\sh\/2018/April 2 2018/user_22230.csv"  
[15] "C:\Users\sh\/2018/April 9 2018/user_22230.csv"  
[16] "C:\Users\sh\/2018/April 17 2018/user_22232.csv" 
[17] "C:\Users\sh\/2018/April 2 2018/user_22232.csv"  
[18] "C:\Users\sh\/2018/April 9 2018/user_22232.csv"  
[19] "C:\Users\sh\/2018/April 23 2018/user_22921.csv" 
[20] "C:\Users\sh\/2018/August 13 2018/user_29607.csv"

我的目标是现在处理具有相同标识 ID 的 CSV 文件,例如,以“22226.csv”结尾的文件。=14=]

我的理想输出是具有单个 DF/table 或具有相同 ID 的 CSV 文件的列表。然后我将 运行 在我编写的函数中 DF/list 预处理数据。

我试过使用 group_by() 和 unique() 但返回了 NA。

我们可以使用 split 创建 list 个文件。分组是根据删除字符得到的子串,直到_

lst1 <- split(files, sub('.*_', '', files))

[[提取元素

lst1[["22232.csv"]]
#[1] "C:\Users\sh\/2018/April 17 2018/user_22232.csv"
#[2] "C:\Users\sh\/2018/April 2 2018/user_22232.csv" 
#[3] "C:\Users\sh\/2018/April 9 2018/user_22232.csv"