如何在R中初始化具有固定长度的向量

时间:2014-02-28 20:02:47

标签: r data-structures vector dataframe

如何在R ??

中初始化具有固定长度的矢量

例如,我想要一个长度为10 ??

的字符向量

4 个答案:

答案 0 :(得分:42)

?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

答案 1 :(得分:19)

如果要初始化数字值不为零的矢量,请使用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

答案 2 :(得分:5)

最容易记住的初始化方法是

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

vec的值为:&#34; [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE&#34; (逻辑模式)默认情况下。

但是在设置了一个字符值之后,比如

vec[2] = 'abc'

vec成为:&#34; FALSE&#34; &#34; ABC&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34; &#34; FALSE&#34;&#34;,这是字符模式。

答案 3 :(得分:0)

只是为了完整起见,您可以采用所需的数据类型,并添加包含元素数量的括号,如下所示:

x <- character(10)