我在同一个工作目录中有两个系列的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个)。有人能帮我解决这个问题吗?
非常感谢
答案 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())