必须对这些chr
进行排序:
files <- c("file (1).csv", "file (2).csv", "file.csv")
成:
chr [1:3] "file.csv" "file (1).csv" "file (2).csv"
到目前为止,我找到了gtools
包及其mixedsort
和mixedorder
函数。但他们导致:
> library("gtools")
> mixedsort(files)
[1] "file (1).csv" "file (2).csv" "file.csv"
有什么想法解决我的问题吗?
答案 0 :(得分:4)
我们可以使用sub
i1 <- as.numeric(gsub("\\D+", "", files))
files[order(!is.na(i1), i1)]
#[1] "file.csv" "file (1).csv" "file (2).csv"