gpt4 book ai didi

r - 将来自以下 ID 的字符串与当前 ID 中的字符串组合

转载 作者:行者123 更新时间:2023-12-04 12:12:26 25 4
gpt4 key购买 nike

我有如下数据框。我想paste0每一对current,它们在后续的state number.

df
state current
1 A1
1 B1
2 A2
2 A3
3 B2
3 C1

我想要所有可能的 current 列与下一个 state 的孪生组合

resultdf:

combinations
A1A2
A1A3
B1A2
B1A3
A2B2
A2C1
A3B2
A3C1

我如何在 R 中做到这一点?

最佳答案

data.table 版本,将 state 连接到 state + 1:

library(data.table)
setDT(dat)
dat[, statep1 := state + 1]
dat[dat, on="state==statep1", nomatch=0L, paste0(i.current, current)]
#[1] "A1A2" "A1A3" "B1A2" "B1A3" "A2B2" "A2C1" "A3B2" "A3C1"

基本 R 中的类似逻辑:

dat$statep1 <- dat$state + 1
with(merge(dat, dat, by.x="state", by.y="statep1"), paste0(current.y, current.x) )
#[1] "A1A2" "B1A2" "A1A3" "B1A3" "A2B2" "A3B2" "A2C1" "A3C1"

关于r - 将来自以下 ID 的字符串与当前 ID 中的字符串组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53624317/

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