ToB*_*eek 31 r vector dataframe data-structures
如何在R ??中初始化具有固定长度的向量
例如,我想要一个长度为10的字符向量?
42-*_*42- 44
?vector
X <- vector(mode="character", length=10)
Run Code Online (Sandbox Code Playgroud)
这将为您提供空字符串.它们可以按位置编制索引.字符数不受限制,因此如果您希望获得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
Run Code Online (Sandbox Code Playgroud)
Ale*_*der 21
如果要初始化数字值不为零的矢量,请使用 rep
n <- 10
v <- rep(0.05, n)
v
Run Code Online (Sandbox Code Playgroud)
这会给你:
[1] 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
Run Code Online (Sandbox Code Playgroud)
最容易记住的初始化方法是
vec = vector(,10); #the same as "vec = vector(length = 10);"
Run Code Online (Sandbox Code Playgroud)
vec的值为:"[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE"(逻辑模式)默认情况下.
但是在设置了一个字符值后,就像
vec[2] = 'abc'
Run Code Online (Sandbox Code Playgroud)
vec变为:"FALSE""abc""FALSE""FALSE""FALSE""FALSE""FALSE""FALSE""FALSE""FALSE"",这是字符模式.