Генерация последовательности символов из 'A' - 'Z' - PullRequest
30 голосов
/ 06 декабря 2010

Я могу сделать последовательность чисел, как это:

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

Как мне сделать последовательность символов из AZ?Это не работает:

seq(from=1, to=10)

Ответы [ 4 ]

43 голосов
/ 06 декабря 2010

Используйте LETTERS и letters (для прописных и строчных букв соответственно).

34 голосов
/ 06 декабря 2010

Используйте код, который вы используете с 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"
14 голосов
/ 06 декабря 2010

Просто используйте предопределенные переменные letters и LETTERS.

А для полноты вот что-то, используя seq:

R> rawToChar(as.raw(seq(as.numeric(charToRaw('a')), as.numeric(charToRaw('z')))))
[1] "abcdefghijklmnopqrstuvwxyz"
R> 
11 голосов
/ 06 декабря 2010
Пакет

R.oo имеет функцию intToChar, которая использует значения ASCII, если LETTERS и letters не годятся. А составляет 65 в ASCII:

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

или вы можете использовать тот факт, что наименьшие юникодные числа являются ascii и, следовательно, intToUtf8 в R-base, как это:

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

или бродить с rawToChar:

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