gpt4 book ai didi

r - 如何获得 R 中的组合向量?

转载 作者:行者123 更新时间:2023-12-04 07:56:35 24 4
gpt4 key购买 nike

我的数据集看起来像这样(在真实数据集中,它们就像 12 个观察值)

ID    String
1 BDH
2 BDHV
3 PA
4 PmA
我想要所有组合,但考虑到 1,2 = 2,1
所以所需的数据集如下所示:
ID   String
1 BDH
2 BDHV
3 PA
4 PmA
12 BDH;BDHV
123 BDH;BDHV;PA
1234 BDH;BDHV;PA;PmA
23 BDHV;PA
234 BDHV;PA;PmA
34 PA;PmA
我如何使用 R 做到这一点?
我想我必须使用 paste(, sep=";")对于 String 变量,但仍然不知道如何进行组合。

最佳答案

我们可以使用 combn

out <- do.call(rbind, lapply(df1$ID, function(i) 
data.frame(ID = combn(df1$ID, i, function(x) paste(x, collapse="")),
String = combn(df1$String, i, function(x) paste(x, collapse=";")))))
-输出
out
# ID String
#1 1 BDH
#2 2 BDHV
#3 3 PA
#4 4 PmA
#5 12 BDH;BDHV
#6 13 BDH;PA
#7 14 BDH;PmA
#8 23 BDHV;PA
#9 24 BDHV;PmA
#10 34 PA;PmA
#11 123 BDH;BDHV;PA
#12 124 BDH;BDHV;PmA
#13 134 BDH;PA;PmA
#14 234 BDHV;PA;PmA
#15 1234 BDH;BDHV;PA;PmA

关于r - 如何获得 R 中的组合向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66676933/

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