8

lapply famliy (または plyr) ファミリの関数を使用してベクトルを取得し、要素に関数を適用し、最初の引数ベクトルで指定された値と同じ名前のリストを返す最善の方法を考えていました。 . たとえば、次のようにします。

lapply(letters[1:3], function(x) NULL)

[[1]]
NULL

[[2]]
NULL

[[3]]
NULL

[[1]]、[[2]]、[[3]] の代わりに、リストの名前 (または単純なインデックス) として、文字 "a"、"b"、出力リストの名前として「c」。

ここから、正しい名前で事前にリストを作成するためにこれを行うことができることを知っています (R/Splus に名前はあるがエントリがないリストを作成する方法は? )。正しい名前のリスト。

ありがとう、マット

4

1 に答える 1

13

sapplyUSE.NAMESあなたが望むことをする引数があります:

sapply(letters[1:3], function(x) NULL, simplify=FALSE, USE.NAMES=TRUE)
# $a
# NULL

# $b
# NULL

# $c
# NULL

Josh O'Brien がコメントで指摘しているように、そしてあなたが理解したsimplify=FALSEように、出力がより単純なデータ構造に縮小されるのを防ぎ、結果を取得するものと一致させますlapply(まあ、名前に加えてコース)。

于 2013-09-17T15:22:04.230 に答える