2010-12-06 54 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"