问题描述
我有两个要合并的列表:
x <- list(id1 = list(q1 = list(a = 5,b = 8),q7 = list(c = "a",d = "e")),id2 = list(q1 = list(a = 6,b = 4),q8 = list(k = "t",w = 5)))
y <- list(q1 = list(v = 6,t = 7.6),q9 = list(n = 6,m = 7.6))
我需要获取列表z:
z <- purrr::map(x,function(data) {
data[names(data) %in% names(y)] <-
purrr::list_merge(data[names(data) %in% names(y)],!!!y[names(y) %in% names(data)])
data})
当我尝试使用rlang的enqous和!!!为此编写通用函数时,例如:
list_smart_merge <- function(list1,list2) {
list3 <- rlang::enquos(list2[q_names %in% names(data)])
purrr::map(list1,function(data) {
data[names(data) %in% names(list2)] <-
purrr::list_merge(data[names(data) %in% names(list2)],!!list3)
data})}
我遇到类似“捕获的输入必须是参数名称”之类的错误。有人可以解释一下我在做什么错吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)