web-dev-qa-db-fra.com

Générez une séquence de caractères de 'A' - 'Z'

Je peux faire une séquence de nombres comme ceci:

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

Comment créer une séquence de caractères de A à Z? Cela ne fonctionne pas:

seq(from=1, to=10)
32
James Thompson

Utilisez LETTERS et letters (pour les majuscules et les minuscules respectivement).

45
Shane

Utilisez le code que vous avez avec letters et/ou 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"
34
Joshua Ulrich

Utilisez simplement les variables prédéfinies letters et LETTERS.

Et pour être complet, voici quelque chose en utilisant seq:

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

R.oo le package a une fonction intToChar, qui utilise les valeurs ASCII, si LETTERS et letters aren pas bon. A est 65 en ASCII:

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

ou vous pouvez utiliser le fait que les plus petits nombres unicode sont ascii et donc intToUtf8 en base R comme ceci:

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

ou faff autour avec rawToChar:

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