R C将列表的第i个名称绑定到第i个列表

R C将列表的第i个名称绑定到第i个列表,r,dataframe,nested-lists,names,strsplit,R,Dataframe,Nested Lists,Names,Strsplit,(请随意将标题更改为更合适的名称) 我有一个类似下面的列表。我要做的是cbind将每个嵌套列表的每个名称绑定到该列表中的一个新列。此外,我想通过/来strsplit每个名称,因此实际上cbind是两列,即Nrep=rep1和sp=sp1,每一列的行数与嵌套列表本身相同 `rep1/sp1` <- read.table(text= "var,X2x,X4x,X6x 101337,4.631833,4.4547,11.097333

(请随意将标题更改为更合适的名称)

我有一个类似下面的列表。我要做的是
cbind
将每个嵌套列表的每个
名称
绑定到该列表中的一个新列。此外,我想通过
/
strsplit
每个
名称
,因此实际上
cbind
是两列,即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`)
期望输出

> 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

任何关于这一点的指针将非常感谢,谢谢

如果它们不必是第一列和第二列,那么

rep_sp <- names(dflist)
rep_sp <- strsplit(rep_sp, "/")
Map(cbind, dflist, 
    Nrep = sapply(rep_sp,'[',1),
    sp = sapply(rep_sp,'[',2))
我没有将它们放在第一位的原因是,当您使用
Map
时,它将使用您传递的第一个数据参数命名列表中的元素。因此,通过首先传递
dflist
,我保留了这些名称。您可以重新排列参数,然后只需在单词后面用类似
名称(newobj)的内容重置名称
rep_sp <- names(dflist)
rep_sp <- strsplit(rep_sp, "/")
Map(cbind, dflist, 
    Nrep = sapply(rep_sp,'[',1),
    sp = sapply(rep_sp,'[',2))
$`rep1/sp1`
     var      X2x     X4x       X6x Nrep  sp
1 101337 4.631833  4.4547 11.097333 rep1 sp1
2 345754 3.727433 10.8560 10.536600 rep1 sp1

$`rep1/sp2`
     var      X2x     X4x       X6x Nrep  sp
1 101337 5.631833 10.4547 11.097333 rep1 sp2
2 345754 5.727433 12.8560 10.536600 rep1 sp2