gpt4 book ai didi

regex - 在 data.frame 中的任何单元格上使用 grep

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

一个简单的“有没有更好的方法”的问题。我想查找 data.frame 中的任何单元格是否包含我要查找的子字符串:

d=data.frame(V1=c("xxx","yyy","zzz"), V2=c(NA,"ewruinwe",NA))
grepl("ruin",d[2,2]) #TRUE
grepl("ruin",d) #FALSE FALSE
any(grepl("ruin",as.character(as.matrix(d)))) #TRUE

最后一行做了我想要的,但它看起来很丑,我想知道我是否遗漏了一些更简单的东西。

背景: dt=readHTMLTable(url) 中的元素之一(XML 包)。我正在执行 d[2,2] 方法,以检查错误消息,并且刚刚发现该网站有时会向 HTML 表中添加另一行,将我正在寻找的错误消息推送到另一个单元格。

更新:所以,似乎两个选择(感谢math.coffee 和Roman Luštrik)是:
any(grepl("ruin",as.matrix(d)))
any(apply(d, 2, function(x) grepl("ruin", x)))

最佳答案

那这个呢?

d=data.frame(V1=c("xxx","yyy","zzz"), V2=c(NA,"ewruinwe",NA))
apply(d, c(1,2), function(x) grepl("ruin", x))
V1 V2
[1,] FALSE FALSE
[2,] FALSE TRUE
[3,] FALSE FALSE

如评论中所述,“2”与“c(1,2)”的作用相同。然后给出一个 bool 值:
any(apply(d, 2, function(x) grepl("ruin", x)))
[1] TRUE

关于regex - 在 data.frame 中的任何单元格上使用 grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8999653/

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