gpt4 book ai didi

r - 正确使用应用函数从列表元素组合生成列表

转载 作者:行者123 更新时间:2023-12-02 08:31:29 25 4
gpt4 key购买 nike

我有一个看起来像这样的列表对象

list1 <- list(c("A1", "A2"), "B", c("C1", "C2"))

据此我想生成一个列表,其中包含 list1 中所有元素组合的列表。对于 list1,它应该是这样的

list2 <- list(list("A1", "B", "C1"), list("A1", "B", "C2"), list("A2", "B", "C1"), list("A2", "B", "C2"))

如果 list1 中的元素更多,手动生成就不可能了。我如何在 R 中执行此操作?

最佳答案

我会建议一些不同的东西。只需使用 expand.grid 并获得组合的 data.frame:

expand.grid(list1)
# Var1 Var2 Var3
# 1 A1 B C1
# 2 A2 B C1
# 3 A1 B C2
# 4 A2 B C2

或者类似地,对于“data.table”,使用CJ:

library(data.table)
do.call(CJ, list1)
# V1 V2 V3
# 1: A1 B C1
# 2: A1 B C2
# 3: A2 B C1
# 4: A2 B C2

关于r - 正确使用应用函数从列表元素组合生成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26339595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com