gpt4 book ai didi

根据条件替换为列中的多个元素

转载 作者:行者123 更新时间:2023-12-03 18:40:18 24 4
gpt4 key购买 nike

我在替换数据框列中的值时遇到了一些问题。

我有两个看起来像这样的数据框:

结果表:
r <- data.frame(d = c("100", "100,111", "100,111,123"), r = c("3", "3,6,7", "42,57"))
映射表:
m <- data.frame(id = c("3", "6", "7", "42", "57", "100", "111", "123"), name= c("tc1", "tc2", "tc3", "tc4", "tc5", "tc6", "tc7", "tc8"))
现在我希望 m$name 中的字符串根据 r$d 中的匹配/部分匹配替换 r$rm$id 中的数字,对我来说困难的部分是,可以出现多个数字。

示例:元组“100,111”“3,6,7”最后应该是“tc6,tc7”“tc1,tc2,tc3”。

任何帮助将不胜感激。

最佳答案

这是一个使用基础 R 的单衬,

r[] <- lapply(r, function(i) sapply(strsplit(as.character(i), ','), 
function(j)paste(m$name[match(j, m$id)], collapse = ',')))

这使,

            d           r
1 tc6 tc1
2 tc6,tc7 tc1,tc2,tc3
3 tc6,tc7,tc8 tc4,tc5

关于根据条件替换为列中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60527354/

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