45

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

4 に答える 4

60

これはあなたが探しているものです:

> 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"
于 2009-09-17T16:15:38.003 に答える
21

見ましたか

?LETTERS

そしてそれはあなたが望むことをしませんか?それ以外の場合はpaste()、関連する機能があります。

編集:たぶん、collapse=貼り付けるのはあなたが必要とするものです:

R> replicate(5, paste(sample(LETTERS, 10, replace=TRUE), collapse=""))
[1] "OHZBIYEFMD" "UINBOFEIXN" "UORJZATYNT" "ZNPWNBFFXJ" "ZOKYMTCDKZ"
R> 
于 2009-09-17T15:20:06.990 に答える
13

「a」から「z」の場合は

letters

「A」から「Z」の場合

LETTERS

そして、シーケンス内の特定の文字を印刷するには、j、k、lだけが必要かどうかを言います

letters[10:12]
于 2016-08-29T11:22:59.317 に答える
2

A-1、A-2、A-3、B-1、B-2、B-3、C-1、C-2、C-3などを取得したいと思います...

私はこれを試しました

replicate(3, paste0(LETTERS[1:10], sep="-", 1:3, collapse=", ")

しかし、このようにして私は

A-1、B-2、C-3、D-1、E-2、F-3、G-1、H-2、I-3、J-1 "" A-1、B-2、C -3、D-1、E-2、F-3、G-1、H-2、I-3、J-1、A-1、B-2、C-3、D-1、E-2 、F-3、G-1、H-2、I-3、J-1 "

私も試しました

paste0(replicate(3, LETTERS[1:10]), sep = "-", 1:3)

しかし、同じ結果が得られました。

どうすれば目的のシーケンスを取得できますか

于 2020-03-21T15:52:49.787 に答える