38

我可以制作这样的数字序列:

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

如何从 AZ 制作一系列字符?这不起作用:

seq(from=1, to=10)
4

5 回答 5

60

使用LETTERSand letters(分别表示大写和小写)。

于 2010-12-06T19:18:11.427 回答
43

使用您拥有的代码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"
于 2010-12-06T19:19:24.553 回答
16

只需使用预定义的变量lettersLETTERS.

为了完整起见,这里使用了一些东西seq

R> rawToChar(as.raw(seq(as.numeric(charToRaw('a')), as.numeric(charToRaw('z')))))
[1] "abcdefghijklmnopqrstuvwxyz"
R> 
于 2010-12-06T19:18:49.723 回答
12

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-base 中是这样的:

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

或 faff 周围rawToChar

> rawToChar(as.raw(65:78))
[1] "ABCDEFGHIJKLMN"
于 2010-12-06T19:27:47.630 回答
0

LETTERS返回 AZ

例如生成AE

大写:

> LETTERS[1:5]

小写

letters[1:5]
于 2021-12-15T12:05:06.500 回答