gpt4 book ai didi

r - 是否可以在 R 中使用 ifelse() 添加第三个虚拟变量?

转载 作者:行者123 更新时间:2023-12-04 11:13:53 24 4
gpt4 key购买 nike

我正在使用此代码基于在列 var 中找到的部分字符串创建一个新的 Group 列,用于 2 个组,SuiSwe .我不得不添加另一个组,TRD ,我一直在尝试调整 ifelse函数执行此操作,但没有成功。这是可行的吗?有没有其他解决方案或其他功能可以帮助我做到这一点?

m.df <- molten.df%>% mutate(
Group = ifelse(str_detect(variable, "Sui"), "Sui", "Swedish"))

Current m.df:
var value
ADHD_iFullSuiTrim.Threshold1 0.00549427
ADHD_iFullSuiTrim.Threshold1 0.00513955
ADHD_iFullSweTrim.Threshold1 0.00466352
ADHD_iFullSweTrim.Threshold1 0.00491633
ADHD_iFullTRDTrim.Threshold1 0.00658535
ADHD_iFullTRDTrim.Threshold1 0.00609122


Desired Result:
var value Group
ADHD_iFullSuiTrim.Threshold1 0.00549427 Sui
ADHD_iFullSuiTrim.Threshold1 0.00513955 Sui
ADHD_iFullSweTrim.Threshold1 0.00466352 Swedish
ADHD_iFullSweTrim.Threshold1 0.00491633 Swedish
ADHD_iFullTRDTrim.Threshold1 0.00658535 TRD
ADHD_iFullTRDTrim.Threshold1 0.00609122 TRD

即使结果可以使用其他功能完成,任何帮助或建议也将不胜感激。

最佳答案

ifelse()需要。我会用 Group = str_extract(var, pattern = "(Sui)|(TRD)|(Swe)") .

你可以用“iFull”的后视和“修剪”的前瞻来做更高级的正则表达式,但我永远不记得如何做到这一点。

有点迂回,但一般来说,如果你想要“iFull”和“Trim”之间的任何东西,都可以替代:

str_replace_all(var, pattern = "(.*iFull)|(Trim.*)", "")

关于r - 是否可以在 R 中使用 ifelse() 添加第三个虚拟变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45642582/

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