2016-08-08 18 views
5

chcę: 01 02 03 ... 10, 11, 12 ... 97, 98, 99Jak wygenerować sekwencję w R, która zaczyna się od 01 i kończy na 99?

Próbowałem przy użyciu następujących:

seq("01":"19") # Doesn't help 
paste0("0",seq("01":"19")) # Doesn't help 

Proszę zaproponować coś!

+1

Dlaczego nie tylko '1: 99'? Jak zamierzam użyć tego wektora 'character'? Wydaje się prawie dupe [this] (http://stackoverflow.com/questions/5812493/adding-leading-zeros-using-r) –

+0

Miałem kolumnę o tym formacie, wektor znaków o długości 2. Chciałbym zamapuj to tam. –

Odpowiedz

6

Możemy użyć sprintf

sprintf("%02d", 1:99) 
#[1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" 
#[33] "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" 
#[65] "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" 
#[97] "97" "98" "99" 

Albo opcja pakiet jest str_pad

library(stringr) 
str_pad(1:99, pad = 0,width = 2 , "left") 
+0

Wielkie dzięki! faktycznie chciałem 'c (" 01 ":" 31 "," 98 "," 99 ")' czy jest jakikolwiek sposób w działaniu to zrobić lub powinienem użyć 'c (sprintf ("% 02d ", 1:31) 98,99) ' –

+1

Zadziałało, dzięki! –

2

Inną opcją jest formatC. Możesz podać width = 2, aby uzyskać 2-cyfrową sekwencję.

formatC(seq(1, 99), width=2, flag=0) 

#[1]"01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15" "16" "17" 
#[18]"18" "19" "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" 
#[35]"35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" 
#[52]"52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" 
#[69]"69" "70" "71" "72" "73" "74" "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" 
#[86]"86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99" 
+1

dzięki Ronak, to pomaga –