2009-09-17 16 views
19

Je voudrais être en mesure de créer une séquence de lettres dans R (pour aider à l'importation de données à partir d'un fichier SPSS)Création d'une liste séquentielle de lettres avec R

Il est très facile de créer une séquence de nombres, par exemple:

seq(1,1000) 
[1] 1 2 3 4 5 6 ... 1000 

paste("something_",1:12,sep="") 
[1] something1 something2 ... something12 

Mais est-il une fonctionnalité pour annexant, coller, ou de créer des séquences de lettres comme celle-ci?

paste("This_",a:z,sep="") 
[1]This_a This_b This_c ... This_4z 

Merci d'avance!

Répondre

33

Est-ce que vous cherchez?

> paste("This_",letters,sep="") 

> [1] "This_a" "This_b" "This_c" "This_d" "This_e" "This_f" "This_g" "This_h" 
    [9] "This_i" "This_j" "This_k" "This_l" "This_m" "This_n" "This_o" "This_p" 
    [17] "This_q" "This_r" "This_s" "This_t" "This_u" "This_v" "This_w" "This_x" 
    [25] "This_y" "This_z" 
+0

Oui, exactement, mais y a-t-il un moyen de ne faire que passer à "i", "j" ou "x" dans la séquence? –

+2

Trouvé! coller (lettres [1:12]) donne un travers j! Merci! –

14

Est-ce que vous regardez

?LETTERS 

et ne pas faire ce que vous voulez? Sinon, il existe paste() et les fonctions connexes.

Edit: Peut-être lecollapse= à coller est ce que vous avez besoin:

R> replicate(5, paste(sample(LETTERS, 10, replace=TRUE), collapse="")) 
[1] "OHZBIYEFMD" "UINBOFEIXN" "UORJZATYNT" "ZNPWNBFFXJ" "ZOKYMTCDKZ" 
R> 
+0

Merci pour la note sur? Lettres! Collapse n'est pas exactement ce que je cherche. –

9

Merci les gars! Je l'ai compris!

paste(letters[1:26]) 

Cheers!

1

pour "a" à "z" ses

coller (lettres)

pour "A" à "Z" ses

pâte (LETTRES)

Et pour imprimer spécifique lettres dans la séquence, si vous voulez dire que j, k & l

impression (lettres [10:12])