28

私はRを学び始めたばかりで、かなり混乱している問題を抱えています。私の目標は、空のベクトルを作成し、それに要素を追加することです。簡単そうに見えますが、stackoverflowで見たソリューションは機能していないようです。

ウィットに、

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

何が間違っているのかよくわかりません。初心者を助けたい人はいますか?

4

2 に答える 2

41

appendあなたが考えていることとは少し違うことをします。を参照してください?append

append特に、それはその引数を変更しないことに注意してください。結果を返します。

あなたは関数が欲しいc

> a <- numeric()
> a <- c(a, 1)
> a
[1] 1
于 2013-01-18T03:55:11.793 に答える
5

ベクトルaは参照によって渡されていないため、変更された場合は、に保存し直す必要がありますa。アクセスaして更新されることを期待することはできません。

Mattが行ったように、ベクトルに戻り値を割り当てる必要があります。

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

マットは正しいですc()(キーストロークが少なく、用途が広い)が、使用append()は問題ありません。

于 2013-01-18T04:12:40.647 に答える