如何解决将两个列表按组件合并到一个组件中
我有两个列表,外加一个空列表:
A <- list(1:4,5:8,9:12)
B <- c("a","b")
C <- vector(mode = "list")
我想将A和B合并为C,如下所示:
C[[1]][1] = A[[1]] C[[1]][2] = B
C[[2]][1] = A[[2]] C[[2]][2] = B
C[[3]][1] = A[[3]] C[[3]][2] = B
谢谢。
解决方法
C <- lapply(A,function(x) list(x,B))
怎么样?
例如:
A <- list(1:4,5:8,9:12)
B <- c("a","b")
C <- lapply(A,B))
# C <- lapply(A,list,B) # also works
all(
C[[1]][[1]] == A[[1]],C[[2]][[1]] == A[[2]],C[[3]][[1]] == A[[3]],C[[1]][[2]] == B,C[[2]][[2]] == B,C[[3]][[2]] == B
)
请注意,由于[[
的每个元素也是一个列表(C
而不是C[[1]][[1]]
),因此您需要加倍C[[1]][1]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。