как сделать выбор функции dir () в порядке возрастания? [R] - PullRequest
0 голосов
/ 25 января 2020
setwd("C:\\Users\\Note\\Documents\\Folder")
n <- dir(pattern = ".csv")

n <-
c("1.csv", "10.csv", "100.csv", "101.csv", "102.csv", "103.csv", 
"104.csv", "105.csv", "106.csv", "107.csv", "108.csv", "109.csv", 
"11.csv", "110.csv", "111.csv", "112.csv", "113.csv", "114.csv", 
"115.csv", "116.csv", "117.csv", "118.csv", "119.csv", "12.csv", 
"120.csv", "121.csv", "122.csv", "123.csv", "124.csv", "125.csv", 
"126.csv", "127.csv", "128.csv", "129.csv", "13.csv", "130.csv", 
"131.csv", "132.csv", "133.csv", "134.csv", "14.csv", "15.csv", 
"16.csv", "17.csv", "18.csv", "19.csv", "2.csv", "20.csv", "21.csv", 
"22.csv", "23.csv", "24.csv", "25.csv", "26.csv", "27.csv", "28.csv", 
"29.csv", "30.csv", "31.csv", "32.csv", "33.csv", "34.csv", "35.csv", 
"36.csv", "37.csv", "38.csv", "39.csv", "4.csv", "40.csv", "41.csv", 
"42.csv", "43.csv", "44.csv", "45.csv", "46.csv", "47.csv", "48.csv", 
"49.csv", "5.csv", "50.csv", "51.csv", "52.csv", "53.csv", "54.csv", 
"55.csv", "56.csv", "57.csv", "58.csv", "59.csv", "6.csv", "60.csv", 
"61.csv", "62.csv", "63.csv", "64.csv", "65.csv", "66.csv", "67.csv", 
"68.csv", "69.csv", "7.csv", "70.csv", "71.csv", "72.csv", "73.csv", 
"74.csv", "75.csv", "76.csv", "77.csv", "78.csv", "79.csv", "8.csv", 
"80.csv", "81.csv", "82.csv", "83.csv", "84.csv", "85.csv", "86.csv", 
"87.csv", "88.csv", "89.csv", "9.csv", "90.csv", "91.csv", "92.csv", 
"93.csv", "94.csv", "95.csv", "96.csv", "97.csv", "98.csv", "99.csv")

Функция dir выбирается в алфавитном порядке. Как сделать так, чтобы функция dir () выбиралась в порядке возрастания: 1,3,4,5,6,7,8,9,10? ожидаемый результат:

>n
"1.csv","2.csv","3.csv" etc

1 Ответ

0 голосов
/ 25 января 2020

Один из вариантов - order на основе номера c, часть только

n1 <- n[order(as.numeric(sub("\\.csv", "", n)))]
n1
#[1] "1.csv"   "2.csv"   "4.csv"   "5.csv"   "6.csv"   "7.csv"   "8.csv"   "9.csv"   "10.csv"  "11.csv"  "12.csv"  "13.csv"  "14.csv" 
#[14] "15.csv"  "16.csv"  "17.csv"  "18.csv"  "19.csv"  "20.csv"  "21.csv"  "22.csv"  "23.csv"  "24.csv"  "25.csv"  "26.csv"  "27.csv" 
#[27] "28.csv"  "29.csv"  "30.csv"  "31.csv"  "32.csv"  "33.csv"  "34.csv"  "35.csv"  "36.csv"  "37.csv"  "38.csv"  "39.csv"  "40.csv" 
#[40] "41.csv"  "42.csv"  "43.csv"  "44.csv"  "45.csv"  "46.csv"  "47.csv"  "48.csv"  "49.csv"  "50.csv"  "51.csv"  "52.csv"  "53.csv" 
#[53] "54.csv"  "55.csv"  "56.csv"  "57.csv"  "58.csv"  "59.csv"  "60.csv"  "61.csv"  "62.csv"  "63.csv"  "64.csv"  "65.csv"  "66.csv" 
#[66] "67.csv"  "68.csv"  "69.csv"  "70.csv"  "71.csv"  "72.csv"  "73.csv"  "74.csv"  "75.csv"  "76.csv"  "77.csv"  "78.csv"  "79.csv" 
#[79] "80.csv"  "81.csv"  "82.csv"  "83.csv"  "84.csv"  "85.csv"  "86.csv"  "87.csv"  "88.csv"  "89.csv"  "90.csv"  "91.csv"  "92.csv" 
#[92] "93.csv"  "94.csv"  "95.csv"  "96.csv"  "97.csv"  "98.csv"  "99.csv"  "100.csv" "101.csv" "102.csv" "103.csv" "104.csv" "105.csv"
#[105] "106.csv" "107.csv" "108.csv" "109.csv" "110.csv" "111.csv" "112.csv" "113.csv" "114.csv" "115.csv" "116.csv" "117.csv" "118.csv"
#[118] "119.csv" "120.csv" "121.csv" "122.csv" "123.csv" "124.csv" "125.csv" "126.csv" "127.csv" "128.csv" "129.csv" "130.csv" "131.csv"
#[131] "132.csv" "133.csv" "134.csv"

Другой вариант - mixedsort из gtools

gtools::mixedsort(n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...