我刚刚开始学习R并且遇到一个让我感到困惑的问题。我的目标是创建一个空向量并向其追加元素。看起来很简单,但我在stackoverflow上看到的解决方案似乎不起作用。
即便,
> a <- numeric()
> append(a,1)
[1] 1
> a
numeric(0)
我无法弄清楚我做错了什么。有人想帮新手吗?
答案 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()
很好。