Создание последовательного списка букв с R - PullRequest
27 голосов
/ 17 сентября 2009

Я хотел бы иметь возможность создать последовательность букв в R (чтобы помочь в импорте данных из файла SPSS)

Довольно просто создать последовательность чисел, например:

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

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

Но есть ли какие-либо функции для добавления, вставки или создания последовательностей букв, подобных этой?

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

Заранее спасибо!

Ответы [ 4 ]

39 голосов
/ 17 сентября 2009

Это то, что вы ищете:

> 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"
14 голосов
/ 17 сентября 2009

Вы смотрели на

?LETTERS

и разве это не делает то, что вы хотите? Еще есть paste() и связанные с ними функции.

Редактировать: Может быть, collapse= для вставки это то, что вам нужно:

R> replicate(5, paste(sample(LETTERS, 10, replace=TRUE), collapse=""))
[1] "OHZBIYEFMD" "UINBOFEIXN" "UORJZATYNT" "ZNPWNBFFXJ" "ZOKYMTCDKZ"
R> 
10 голосов
/ 17 сентября 2009

Спасибо, ребята! Я понял!

paste(letters[1:26])

Ура! * * 1004

5 голосов
/ 29 августа 2016

от "а" до "z" это

letters

для "A" до "Z" его

LETTERS

И чтобы напечатать определенные буквы в последовательности, скажем, если вы хотите только j, k & l

letters[10:12]
...