Как инициализировать вектор с фиксированной длиной в R

Как инициализировать вектор с фиксированной длиной в R??

Например, мне нужен вектор символов длиной 10??

Ответы

Ответ 1

?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

Ответ 2

Если вы хотите инициализировать вектор с числовыми значениями, отличными от нуля, используйте 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

Ответ 3

Самый простой способ инициализации -

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" , который имеет режим символа.

Ответ 4

Просто для полноты вы можете просто взять желаемый тип данных и добавить скобки с таким количеством элементов:

x <- character(10)