2010-12-06 127 views
26

我可以讓數字的這樣一個順序:生成的字符序列

s = seq(from = 1, to = 10, by = 1) 

如何使字符從A到Z的順序?這不起作用:

seq(from = 1, to = 10) 

回答

38

使用LETTERSletters(大寫和小寫分別)。

10

只需使用預定義變量lettersLETTERS即可。

以及物品是否完整,這東西用seq

R> rawToChar(as.raw(seq(as.numeric(charToRaw('a')), as.numeric(charToRaw('z'))))) 
[1] "abcdefghijklmnopqrstuvwxyz" 
R> 
30

使用爲letters和/或LETTERS代碼:

> LETTERS[seq(from = 1, to = 10)] 
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" 
> letters[seq(from = 1, to = 10)] 
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" 
+0

或者只是字母[1:10] – skan 2017-07-20 11:16:58

10

R.oo包有一個intToChar功能,使用ASCII值,如果LETTERSletters不合適。 A是ASCII 65:

> require(R.oo) 
> intToChar(65:79) 
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" 

,或者你可以使用一個事實,即最低Unicode數字是ASCII,因此intToUtf8在R基本是這樣的:

> intToUtf8(65:78,multiple=TRUE) 
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" 

rawToChar faff各地:

> rawToChar(as.raw(65:78)) 
[1] "ABCDEFGHIJKLMN"