无法创建空向量并在R中追加新元素

时间:2013-01-18 03:47:51

标签: r

我刚刚开始学习R并且遇到一个让我感到困惑的问题。我的目标是创建一个空向量并向其追加元素。看起来很简单,但我在stackoverflow上看到的解决方案似乎不起作用。

即便,

>     a <- numeric()
>     append(a,1)
[1] 1
>     a
numeric(0)

我无法弄清楚我做错了什么。有人想帮新手吗?

2 个答案:

答案 0 :(得分:41)

append做的事与你的想法有所不同。请参阅?append

特别要注意append不会修改其参数。它返回结果。

您需要功能c

> a <- numeric()
> a <- c(a, 1)
> a
[1] 1

答案 1 :(得分:5)

您的a向量未通过引用传递,因此在修改后,您必须将其存储回a。您无法访问a并希望更新它。

您只需将返回值分配给向量,就像Matt所做的那样:

> a <- numeric()
> a <- append(a, 1)
> a
[1] 1

Matt是正确的c()更好(击键次数更少,用途更广泛)虽然使用append()很好。