使用R在末尾数字位排序多个文件(在同一文件夹中)

时间:2015-01-19 19:13:12

标签: r

我在同一个工作目录中有两个系列的pdf文件,而我正在使用Windows。两个系列都具有与结束数字相同的唯一数字标识符,但是,它们的起始字母是L和M.默认情况下,它们按字母顺序排序:

L14_1

L14_2

L14_3

L14_4

M__1

M__2

M__3

M__4

我需要这样订购:

L14_1

M__1

L14_2

M__2

L14_3

M__3

L14_4

M__4

我是R编码的新手,我已经做了一些寻找类似问题的工作,但我还没有想出任何东西。

总共可能有大约2000个文件(每个系列约1000个)。有人能帮我解决这个问题吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

你可以尝试

v1[order(as.numeric(sub('.*_', '', v1)))]
#[1] "L14_1" "M__1"  "L14_2" "M__2"  "L14_3" "M__3"  "L14_4" "M__4" 

假设订单与您展示的不同

v2[order(as.numeric(sub('.*_', '', v2)),substr(v2, 1,1))]
#[1] "L14_1" "M__1"  "L14_2" "M__2"  "L14_3" "M__3"  "L14_4" "M__4"

数据

v1 <- c("L14_1", "L14_2", "L14_3", "L14_4", "M__1", "M__2", "M__3", 
"M__4")

set.seed(24)
v2 <- sample(v1)

您的v1可能是

v1 <- sub('.pdf', '', list.files())