

6つの既存のリストを `list[1],list[2],list[3],list[4],list[5],list[6]` というような形で `for`
文で代入したいのですが、どうすればいいかわかりません。

ベクトルで `for` 文を用いて、`f[1],f[2],f[3],f[4],f[5],f[6]` に対して代入するときは、  
以下のようになるのはわかるのですが、リストを同じようにするとうまく行きません。

どなたかおしえて頂けますでしょうか。

[code]

    f<-NULL
    
    for(i in 1:6){
        f[i]<- i
    }
    
[/code]


CC BY-SA 4.0
2020-07-02T09:17:38.467
68217
2023-10-09T12:08:00.990
2020-07-02T14:28:42.917
19110
40909
question
r
リストをfor文で代入したい


(質問の趣旨の確認はコメントで書くルールらしいですが, 信用度が足りず書き込めないため回答に含めます)

> 6つの既存のリストを `list[1],list[2],list[3],list[4],list[5],list[6]` というような形で

> リストを同じようにする

というのが具体的にどういう操作なのか不明瞭なので確認ですが, `list` と言う名前の新しいリストの中にさらに6つのリスト, 例えば `li1, ...
li6` を入れたいということですか? この例のように規則のある名前が付いているのなら, `get()` を使うことでできます.

[code]

    li1 <- list(name = "リスト1です")
    li2 <- list(name = "リスト2です")
    li3 <- list(name = "リスト3です")
    li4 <- list(name = "リスト4です")
    li5 <- list(name = "リスト5です")
    li6 <- list(name = "リスト6です")
    
    list <- list()
    for(i in 1:6){
      list[[i]] <- get(paste0("li", i))
    }
    class(list) # リスト型になっていることを確認
    
    str(list) # 要素もリストになっていることを確認
    
[/code]


CC BY-SA 4.0
2020-07-04T07:37:54.013
68267
2020-07-04T07:37:54.013
40575
68217
answer