我想列出对象并从所有对象中构建一个对象。实际用例是将多个 Seurat 对象组合成一个对象。目前我使用 for 循环,但是,我很好奇是否可以使用 purrr::map。为了使问题更简单,我们只连接列表的一部分。尽量不要对结果太可爱,因为我真正的问题更难(更复杂的功能)。
w1 = list(a="first",b="This")
w2 = list(a="second",b="is")
w3 = list(a="third",b="the")
w4 = list(a="fourth",b="desired results")
期望的结果将是“这是期望的结果”。
list(w1,w2,w3,w4) %>% map(paste,.$b," ")
给
[[1]] [1] “这个”
[[2]] [1] “是”
[[3]] [1] “这个”
[[4]] [1] “想要的结果”
我想保存上一次迭代的结果并将其作为参数添加到函数中。
基本上我想用函数替换以下行。
y=NULL;for (x in list(w1,w2,w3,w4)){ y=ifelse(is.null(y),x$b,paste0(y," ",x$b))}
#y
#"This is the desired result"