を空のベクターを追加、私はリストに空のベクターを追加すると、それは事実ではないが以下のように、追加:R:リストにRで
a = list()
a[[1]] = c()
print(length(a))
length(a)
は、この場合に0を印刷します2番目の行をa[[1]] = c(1)
に変更すると、リストの長さは1になります。私の実装では、空のベクトルをリストに追加しても、リストの長さを変更する必要があります。それを行う方法はありますか?
を空のベクターを追加、私はリストに空のベクターを追加すると、それは事実ではないが以下のように、追加:R:リストにRで
a = list()
a[[1]] = c()
print(length(a))
length(a)
は、この場合に0を印刷します2番目の行をa[[1]] = c(1)
に変更すると、リストの長さは1になります。私の実装では、空のベクトルをリストに追加しても、リストの長さを変更する必要があります。それを行う方法はありますか?
vector()
(論理)とcharacter()
のようなものを使用すると、空のままにしたい要素に特定のクラスが割り当てられます。私はNULLクラスを使用します。 [[<-
ではなく、[<-
を使用してNULLリスト要素を割り当てることができます。
a <- list()
a[1] <- list(NULL)
a
# [[1]]
# NULL
length(a)
# [1] 1
OPは実際にはかなり近いです - 'a [1] = list(c())'も同じ結果を得るためにはうまくいくでしょう。 – thelatemail
'a [[1]] = vector()'が行います。ユースケースに応じて、vectorのモードも指定する必要があります。 'c()'はNULLを返します。これはうまくいきません。 – dww
最初から正しいサイズのリストを作成するほうが良いでしょう。 [第2の円](http://www.burns-stat.com)で終わらないように、 'a < - list(NULL)'または 'a < - vector(1、mode = 'list')' /pages/Tutor/R_inferno.pdf#chapter.2)。 – alistaire