(タイトルは適当に変えてください)
以下のようなリストのリストがあります。私がやりたいことは、ネストされたcbind
各names
リストのそれぞれをそのリストの新しい列にすることです。さらに、私はstrsplit
それぞれをnames
したい/
ので、実際にcbind
は 2 つの列、つまり Nrep=rep1 と sp=sp1 があり、それぞれがネストされたリスト自体と同じ行数を持っています。
`rep1/sp1` <- read.table(text= "var,X2x,X4x,X6x
101337,4.631833,4.4547,11.097333
345754,3.727433,10.8560,10.536600" ,header=TRUE, sep=",")
`rep1/sp2` <- read.table(text= "var,X2x,X4x,X6x
101337,5.631833,10.4547,11.097333
345754,5.727433,12.8560,10.536600" ,header=TRUE, sep=",")
dflist <- list(`rep1/sp1`=`rep1/sp1`, `rep1/sp2`=`rep1/sp2`)
私のアイデアは、2 つのステップでそれを行うことでした。names
+を抽出しstrsplit
、次にcbind
それぞれを正しいネストされたリストに抽出すると、以下に示すような出力が得られます。しかし、最後のステップまでどうすればよいか頭に浮かびません。
rep_sp <- names(dflist)
rep_sp <- strsplit(rep_sp, "/")
rep_sp <- lapply(rep_sp, function(x) data.frame(t(cbind(x))))
rep_sp <- ldply(rep_sp, data.frame)
colnames(rep_sp) <- c("Nrep","sp")
# hit the wall...
望ましい出力
> dflist
$`rep1/sp1`
Nrep sp var X2x X4x X6x
rep1 sp1 101337 4.631833 4.4547 11.09733
rep1 sp1 345754 3.727433 10.8560 10.53660
$`rep1/sp2`
Nrep sp var X2x X4x X6x
rep1 sp2 101337 5.631833 10.4547 11.09733
rep1 sp2 345754 5.727433 12.8560 10.53660
これに関する任意のポインタは非常に高く評価されます, ありがとう!