Creating a sequential list of letters with R


Question

I would like to be able to create a sequence of letters in R (to assist in importing data from a SPSS file)

It's quite easy to create a sequence of numbers, for example:

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

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

But is there any functionality for appending, pasting, or creating sequences of letters like this?

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

Thanks in advance!

1
29
9/17/2009 3:15:26 PM

Accepted Answer

This is what you're looking for:

> 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"
40
6/12/2018 9:19:06 AM

Did you look at

?LETTERS

and doesn't that do what you want? Else there are paste() and related functions.

Edit: Maybe the collapse= to paste is what you need:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon