22

名前付きアイテムをリストに追加するとき、そのアイテムがリストの最後に追加されることが保証されていますか?実際にはそうであるように見えますが、これが危険な仮定であるかどうかはわかりませんか?

test = list()
test[[ "one" ]] = 1
test[[ "two" ]] = 2  # will always appear after "one"?
test[[ "three" ]] = 3  # will always appear after "two"?
4

2 に答える 2

34

それが文書化されていない場合(そして文書化されていないように見える場合)、私はそれに依存しません。次のような操作を行うことで、リストの最後に表示されるようにすることができます。

test <- list()
test <- c(test, one=1)
test <- c(test, two=2)
test <- c(test, three=3)
于 2011-09-29T15:11:16.083 に答える
5

RのCコードを詳しく調べれば、それが真実であることがわかると思いますが、Joshuaが言うように、それは文書化されていません。そのような振る舞いを文書化する必要があるかどうかについて、R-devに意見を求めることができます。それに依存する既存のコードがすでに存在する可能性があります。

于 2011-09-29T15:22:08.310 に答える