对R中的文件列表进行排序
我正在尝试对文件列表进行排序。使用str_sort获得的顺序与默认顺序相同:对R中的文件列表进行排序,r,string,R,String,我正在尝试对文件列表进行排序。使用str_sort获得的顺序与默认顺序相同: list.files('sim') [1] "Intercept_simulation_0_0.037.csv" "Intercept_simulation_0_0.074.csv" [3] "Intercept_simulation_0_0.099.csv" "Intercept_simulation_0_0.csv" [5] "Intercept_sim
list.files('sim')
[1] "Intercept_simulation_0_0.037.csv" "Intercept_simulation_0_0.074.csv"
[3] "Intercept_simulation_0_0.099.csv" "Intercept_simulation_0_0.csv"
[5] "Intercept_simulation_0.02_0.037.csv" "Intercept_simulation_0.02_0.074.csv"
[7] "Intercept_simulation_0.02_0.099.csv" "Intercept_simulation_0.02_0.csv"
[9] "Intercept_simulation_0.04_0.037.csv" "Intercept_simulation_0.04_0.074.csv"
[11] "Intercept_simulation_0.04_0.099.csv" "Intercept_simulation_0.04_0.csv"
[13] "Intercept_simulation_0.06_0.037.csv" "Intercept_simulation_0.06_0.074.csv"
[15] "Intercept_simulation_0.06_0.099.csv" "Intercept_simulation_0.06_0.csv"
[17] "Intercept_simulation_0.08_0.037.csv" "Intercept_simulation_0.08_0.074.csv"
[19] "Intercept_simulation_0.08_0.099.csv" "Intercept_simulation_0.08_0.csv"
我想以这样的方式订购*_0_0.csv将在*_0_0.037.csv之前*_0.02_0.csv之前*_0.02_0.037;等
谢谢您可以从字符串中提取相关部分,然后使用order 其中sub的输出为 在这种情况下,来自gtools的mixedsort直接起作用
gtools::mixedsort(x)
资料
我们可以按订单使用gsub
数据
sub(".*?(\\d.*)\\.csv", "\\1", x)
# [1] "0_0.037" "0_0.074" "0_0.099" "0_0" "0.02_0.037" "0.02_0.074"
# "0.02_0.099" "0.02_0" "0.04_0.037" "0.04_0.074" "0.04_0.099" "0.04_0"
# "0.06_0.037" "0.06_0.074" "0.06_0.099" "0.06_0" "0.08_0.037" "0.08_0.074"
# "0.08_0.099" "0.08_0"
gtools::mixedsort(x)
x <- c("Intercept_simulation_0_0.037.csv", "Intercept_simulation_0_0.074.csv",
"Intercept_simulation_0_0.099.csv", "Intercept_simulation_0_0.csv",
"Intercept_simulation_0.02_0.037.csv", "Intercept_simulation_0.02_0.074.csv",
"Intercept_simulation_0.02_0.099.csv", "Intercept_simulation_0.02_0.csv",
"Intercept_simulation_0.04_0.037.csv", "Intercept_simulation_0.04_0.074.csv",
"Intercept_simulation_0.04_0.099.csv", "Intercept_simulation_0.04_0.csv",
"Intercept_simulation_0.06_0.037.csv", "Intercept_simulation_0.06_0.074.csv",
"Intercept_simulation_0.06_0.099.csv", "Intercept_simulation_0.06_0.csv",
"Intercept_simulation_0.08_0.037.csv", "Intercept_simulation_0.08_0.074.csv",
"Intercept_simulation_0.08_0.099.csv", "Intercept_simulation_0.08_0.csv")
x[order(gsub(".*[a-z]_|\\.csv", "", x))]
#[1] "Intercept_simulation_0_0.csv" "Intercept_simulation_0_0.037.csv" "Intercept_simulation_0_0.074.csv"
#[4] "Intercept_simulation_0_0.099.csv" "Intercept_simulation_0.02_0.csv" "Intercept_simulation_0.02_0.037.csv"
#[7] "Intercept_simulation_0.02_0.074.csv" "Intercept_simulation_0.02_0.099.csv" "Intercept_simulation_0.04_0.csv"
#[10] "Intercept_simulation_0.04_0.037.csv" "Intercept_simulation_0.04_0.074.csv" "Intercept_simulation_0.04_0.099.csv"
#[13] "Intercept_simulation_0.06_0.csv" "Intercept_simulation_0.06_0.037.csv" "Intercept_simulation_0.06_0.074.csv"
#[16] "Intercept_simulation_0.06_0.099.csv" "Intercept_simulation_0.08_0.csv" "Intercept_simulation_0.08_0.037.csv"
#[19] "Intercept_simulation_0.08_0.074.csv" "Intercept_simulation_0.08_0.099.csv"
x <- c("Intercept_simulation_0_0.037.csv", "Intercept_simulation_0_0.074.csv",
"Intercept_simulation_0_0.099.csv", "Intercept_simulation_0_0.csv",
"Intercept_simulation_0.02_0.037.csv", "Intercept_simulation_0.02_0.074.csv",
"Intercept_simulation_0.02_0.099.csv", "Intercept_simulation_0.02_0.csv",
"Intercept_simulation_0.04_0.037.csv", "Intercept_simulation_0.04_0.074.csv",
"Intercept_simulation_0.04_0.099.csv", "Intercept_simulation_0.04_0.csv",
"Intercept_simulation_0.06_0.037.csv", "Intercept_simulation_0.06_0.074.csv",
"Intercept_simulation_0.06_0.099.csv", "Intercept_simulation_0.06_0.csv",
"Intercept_simulation_0.08_0.037.csv", "Intercept_simulation_0.08_0.074.csv",
"Intercept_simulation_0.08_0.099.csv", "Intercept_simulation_0.08_0.csv")