我一直在做嵌套map()或者map()管道。
我在对象“output”中列出了4个输出。四个输出中的每一个都有一个元素“parameters”,它是一个由3个元素组成的列表。第一个要素是“非标准化”
从视图工具中,我可以看到从任何一个输出中获取非标准参数的代码
output[["ar.4g_gm.pr.dual..semi.inv..phantom.out"]][["parameters"]][["unstandardized"]])
我曾尝试使用map over outputs提取参数,通过管道将参数传输到map\U dfr中,以提取和rbind非标准化参数,这就完成了。。。
x<- map(output,"parameters") %>% map_dfr("unstandardized")
但我希望在结果的一列中有顶级列表元素名称(即输出文件)。
有没有办法嵌套map函数或其他语法,将4个顶级列表元素名称放入一列中?
下面是包含伪数据的语句。我可以工作,但我需要将rep(c“out1”、“out2”、“out3”,每个=5)绑定到结果,我希望它在没有cbind的情况下发生。
output <- list(out1=list(e1=c(1,2,3),
e2=c(T,F,T),
parm=list(a = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
b = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
stand = cbind(as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),grp=rep(1,times=5)))),
out2=list(e1=c(3,4,5),
e2=c(T,F,T),
parm=list(a = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
b = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
stand = cbind(as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),grp=rep(2,times=5)))),
out3=list(e1=c(1,2,3),
e2=c(T,F,T),
parm=list(a = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
b = as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),
stand = cbind(as.data.frame(matrix(sample(101:999,size=40,replace=TRUE),nrow=5)),grp=rep(3,times=5)))) )
output[["out1"]][["parm"]][["stand"]]
map(output,"parm") %>% map_dfr("stand")