gpt4 book ai didi

r - 与grepl R完全匹配

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

我正在尝试使用grepl从数据框中提取某些记录。

这是基于“结果”和“名称”两列之间的比较。该变量的构建方式类似于“WordNumber”,但是对于同一个单词,我有多个数字(超过30个),因此当我使用grepl表达式获取例如Word1时,还会得到我想要避免的结果,例如Word12。

有想法该怎么解决这个吗?

Names <- c("Word1")
colnames(Names) <- name
Results <- c("Word1", "Word11", "Word12", "Word15")
Records <- c("ThisIsTheResultIWant", "notThis", "notThis", "notThis")
Relationships <- data.frame(Results, Records)

Relationships <- subset(Relationships, grepl(paste(Names$name, collapse = "|"), Relationships$Results))

这是行不通的,如果我使用 fixed = TRUE,那么它根本不会返回任何结果(这很奇怪)。我也尝试过将名称部分与其他类似的数字连接起来,但是没有成功:
Relationships <- subset(Relationships, grepl(paste(paste(Names$name, '3', sep = ""), collapse = "|"), Relationships$Results))

由于是串联,因此我不确定如何使用\b强制执行完全匹配。

有什么建议么?

最佳答案

我认为这仅仅是:

Relationships[Relationships$Results==Names,]

如果您最终执行 ^Word1$,那么您只是在做一个直接子集。
如果您有多个名称,请改用:
Relationships[Relationships$Results %in% Names,]

关于r - 与grepl R完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46153832/

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