gpt4 book ai didi

根据所有可能的组合重新组织数据集

转载 作者:行者123 更新时间:2023-12-01 09:53:15 24 4
gpt4 key购买 nike

假设我有一个包含三个个体的数据 ABC,并且每个人都有两个特征,“year of学校”(YS) 和“ sibling 人数”(NS)。因此,数据集 X 如下所示:

id <- c("A", "B", "C")
YS <- c(6, 9, 8)
NS <-c(1, 0, 3)
X <- data.frame(id, YS, NS)

现在我必须根据 ABC 的所有可能组合重新组织数据集,这意味着将是 2^3-1 组合。更准确地说,组合是:ABCABACBCABCnull 组合(即 2^3-1 组合)。除了组合个体之外,我还必须为每个组合计算每个特征的值。例如,AB 组合的 YSNS 的值为 15 和 1。对于另一个实例,YS 的值NS 的组合 ABC 是 23 和 4。

我有点理解使用代码 expand.grid 来生成可能的组合,但我不知道如何同时组合特征值。谁能帮忙?谢谢。

最佳答案

这是 combn 的另一个选项

all_combn <- function(x, ...)
unlist(sapply(seq_along(x), combn, x=x, ...))

data.frame(
id=all_combn(id, paste, collapse=''),
YS=all_combn(YS, sum),
NS=all_combn(NS, sum)
)

# id YS NS
# 1 A 6 1
# 2 B 9 0
# 3 C 8 3
# 4 AB 15 1
# 5 AC 14 4
# 6 BC 17 3
# 7 ABC 23 4

关于根据所有可能的组合重新组织数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33764356/

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