gpt4 book ai didi

r - 您如何根据某些搜索字符串创建正则表达式以对数据框进行子集化?

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

我正在尝试搜索字符串来对数据框进行子集化。我的 df 看起来像这样:

dput(df)
structure(list(Cause = structure(c(2L, 1L), .Label = c("jasper not able to read the property table after the release",
"More than 7000 messages loaded which stuck up"), class = "factor"),
Resolution = structure(1:2, .Label = c("jobs and reports are processed",
"Updated the property table which resolved the issue."), class = "factor")), .Names = c("Cause",
"Resolution"), class = "data.frame", row.names = c(NA, -2L))

我正在尝试这样做:
df1<-subset(df, grepl("*MQ*|*queue*|*Queue*", df$Cause))

在 Cause 列中搜索 MQ 或队列或队列,使用匹配的记录对数据框 df 进行子集化。它似乎不起作用,它正在捕获不存在 MQ、队列或队列字符串的其他记录。

这就是你这样做的方式,我可以遵循任何其他想法吗?

最佳答案

下面的正则表达式似乎有效。我在您的 data.frame 中添加了一行所以这是一个更有趣的例子。

我认为问题来自 * s 在您的正则表达式中,还添加了大括号来定义 | 的组但不要认为这是强制性的。

df <- data.frame(Cause=c("jasper not able to read the property table after the release", 
"More than 7000 messages loaded which stuck up",
"blabla Queue blabla"),
Resolution = c("jobs and reports are processed",
"Updated the property table which resolved the issue.",
"hop"))

> head(df)
Cause Resolution
1 jasper not able to read the property table after the release jobs and reports are processed
2 More than 7000 messages loaded which stuck up Updated the property table which resolved the issue.
3 blabla Queue blabla hop

> subset(df, grepl("(MQ)|(queue)|(Queue)", df$Cause))
Cause Resolution
3 blabla Queue blabla hop

这是你想要的吗?

关于r - 您如何根据某些搜索字符串创建正则表达式以对数据框进行子集化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36984392/

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