web-dev-qa-db-ja.com

「A」-「Z」から一連の文字を生成する

私はこのような数列を作ることができます:

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

A-Zから文字のシーケンスを作成するにはどうすればよいですか?これは機能しません:

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

LETTERSlettersを使用します(それぞれ大文字と小文字)。

45
Shane

lettersLETTERSで使用しているコードを使用します。

> 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

事前定義された変数lettersおよびLETTERSを使用するだけです。

そして完全を期すために、ここではseqを使用したものを示します。

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

R.ooパッケージにはintToChar関数があり、LETTERSlettersが存在しない場合、ASCII値を使用しますAはASCIIでは65です。

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

または、最小のUnicode番号がASCIIであり、したがってintToUtf8 R-baseでは次のようになります:

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

またはrawToCharを使いましょう:

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