(请随意将标题更改为更合适的名称)
我有一个类似下面的列表。我想要做的是将cbind
每个names
嵌套列表中的每一个添加到该列表中的一个新列。另外,我希望strsplit
每个names
by/
所以实际上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`)
我的想法是尝试分两步完成;提取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
任何关于此的指针将不胜感激,谢谢!