web-dev-qa-db-ja.com

Rの固定長でベクトルを初期化する方法

Rの固定長でベクトルを初期化する方法は??

たとえば、10 ??の長さの文字のベクトルが必要です。

30
ToBeGeek
?vector

X <- vector(mode="character", length=10)

これにより、空の文字列が得られます。場所ごとにインデックスを作成できます。文字数に制限はありませんので、10文字の要素を取得することを期待していた場合、失望するでしょう。

>  X[5] <- "character element in 5th position"

>  X
 [1] ""                                  ""                                 
 [3] ""                                  ""                                 
 [5] "character element in 5th position" ""                                 
 [7] ""                                  ""                                 
 [9] ""                                  "" 
>  nchar(X)
 [1]  0  0  0  0 33  0  0  0  0  0

> length(X)
[1] 10
44
42-

ゼロ以外の数値でベクトルを初期化する場合は、repを使用します

n <- 10
v <- rep(0.05, n)
v

あなたに与えます:

[1] 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
20
Alexander

覚えやすい初期化方法は

vec = vector(,10); #the same as "vec = vector(length = 10);"

Vecの値は次のとおりです。デフォルトでは「[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE」(論理モード)。

しかし、次のような文字値を設定した後

vec[2] = 'abc'

vecは、「FALSE」「abc」「FALSE」「FALSE」「FALSE」「FALSE」「FALSE」「FALSE」「FALSE」「FALSE」」の文字モードです。

5
Tom

完全を期すために、必要なデータ型を取得し、次のように要素の数で括弧を追加することができます。

x <- character(10)

0
vonjd