リストのリストに変換しようとしている単純なデータフレームがありますが、いくつかの列を各行の数値ベクトルに結合しています。たとえば、データフレームは次のようになります。
Site c1 c2 c3
MUT -3.71 1.93 0.26
MBT -2.82 2.52 0.58
MFW -1.67 1.60 -0.09
これで再現可能:
regression <- structure(list(site = structure(1:3, .Label = c("MUT", "MBT",
"MFW", "EUT", "EFW", "EBT", "PBT", "PUT", "PFW"), class = "factor"),
c1 = c(-3.71, -2.82, -1.67), c2 = c(1.93, 2.52, 1.6), c3 = c(0.26,
0.58, -0.09)), .Names = c("site", "c1", "c2", "c3"), row.names = c(NA,
3L), class = "data.frame")
各行からリストを作成し、列「c1」、「c2」、および「c3」を「params」という名前の数値ベクトルに結合し、それぞれの値を「c1」、「c2」とします」など…
望ましい出力は次のようになります(dput以外に読みやすく書く方法がわからない)
desired <- list(structure(list(name = "MUT", params = structure(c(-3.71,
1.93, 0.26), .Names = c("c1", "c2", "c3"))), .Names = c("name",
"params")), structure(list(name = "MBT", params = structure(c(-2.82,
2.52, 0.58), .Names = c("c1", "c2", "c3"))), .Names = c("name",
"params")), structure(list(name = "MFW", params = structure(c(-1.67,
1.6, -0.09), .Names = c("c1", "c2", "c3"))), .Names = c("name",
"params")))
分割を少しいじりましたが、データ フレームのリストが生成されました。さらに重要なことに、呼び出しで列を結合する方法をまだ見つけられませんでした。私はリストに慣れていないので、おそらくこれを行う簡単な方法がいくつかあるでしょう。ありがとう、