私はRを学び始めたばかりで、かなり混乱している問題を抱えています。私の目標は、空のベクトルを作成し、それに要素を追加することです。簡単そうに見えますが、stackoverflowで見たソリューションは機能していないようです。
ウィットに、
> a <- numeric()
> append(a,1)
[1] 1
> a
numeric(0)
何が間違っているのかよくわかりません。初心者を助けたい人はいますか?
私はRを学び始めたばかりで、かなり混乱している問題を抱えています。私の目標は、空のベクトルを作成し、それに要素を追加することです。簡単そうに見えますが、stackoverflowで見たソリューションは機能していないようです。
ウィットに、
> a <- numeric()
> append(a,1)
[1] 1
> a
numeric(0)
何が間違っているのかよくわかりません。初心者を助けたい人はいますか?
append
あなたが考えていることとは少し違うことをします。を参照してください?append
。
append
特に、それはその引数を変更しないことに注意してください。結果を返します。
あなたは関数が欲しいc
:
> a <- numeric()
> a <- c(a, 1)
> a
[1] 1
ベクトルa
は参照によって渡されていないため、変更された場合は、に保存し直す必要がありますa
。アクセスa
して更新されることを期待することはできません。
Mattが行ったように、ベクトルに戻り値を割り当てる必要があります。
> a <- numeric()
> a <- append(a, 1)
> a
[1] 1
マットは正しいですc()
(キーストロークが少なく、用途が広い)が、使用append()
は問題ありません。