57

と の 2 つの変数がkeyありvalue、それらをキーと値のペアとしてリストに追加します。

key = "width"
value = 32

mylist = list()
mylist$key = value

結果は次のとおりです。

mylist
# $key
# [1] 32

しかし、代わりにこれが欲しい:

mylist
# $width
# [1] 32

これどうやってするの?

4

4 に答える 4

81

R リストは、名前でアクセスできるオブジェクトのハッシュ ベクトルと考えることができます。このアプローチを使用すると、次のように新しいエントリをリストに追加できます。

key <- "width"
value <- 32

mylist <- list()
mylist[[ key ]] <- value

ここでは、ループ変数 i に格納された値を使用してベクトルにアクセスするのと同じように、変数 key に格納された文字列を使用してリスト内の位置にアクセスします。

vector[ i ]

結果は次のとおりです。

myList
$width
[1] 32
于 2009-07-09T19:33:34.113 に答える
13

R のリスト要素には名前を付けることができます。だからあなたの場合は

 > mylist = list()
 > mylist$width = value

R がこのコードに遭遇したとき

> l$somename=something

ここで、l はリストです。リストに要素 some を追加し、somename という名前を付けます。その後、次を使用してアクセスできます

> l[["somename"]]

また

> l$somename

名前はコマンド名で変更できます:

> names(l)[names(l)=="somename"] <- "othername"

または、次の方法でリスト内の要素の位置を取得した場合:

> names(l)[1] <- "someothername"
于 2009-07-24T08:06:03.440 に答える