gpt4 book ai didi

r - Tidyr 使用正则表达式分开

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

我搜了又搜,找到了类似的东西,但没有什么是对的。希望这个问题没有得到解答。

假设我有一个包含 Y、N 的列,有时还有额外的信息

    df<-data.frame(Names=c("Patient1","patient2","Patient3","Patient4","patient5"),Surgery=c("Y","N","Y-this kind of surgery","See note","Y"))

我正在尝试将 Y 或 N 分离到一列中,并将该列中的所有其他内容分离到另一列中。

我试过了

    df%>%separate('Surgery',c("Surgery","Notes"), sep=" ")

最后一栏有“see”,下一栏有“notes”

    df%>%separate('Surgery',c("Surgery","Notes"), sep = '^Y|^N')

越来越奇怪了

    df%>%separate('Surgery',c("Surgery","Notes), sep= "^[YN]?")

正确拆分音符,删除 Y 和 N。

有人知道怎么分开吗?我正在寻找的结果在手术列中只有 Y 或 N,其他任何内容都被推到不同的列。

最佳答案

我们可以使用 extract from tidyr

library(tidyr)
library(dplyr)
df %>%
extract(Surgery, into = c("Surgery", "Notes"), "^([YN]*)[[:punct:]]*(.*)")
# Names Surgery Notes
#1 Patient1 Y
#2 patient2 N
#3 Patient3 Y this kind of surgery
#4 Patient4 See note
#5 patient5 Y

关于r - Tidyr 使用正则表达式分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49437010/

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