gpt4 book ai didi

r - 在特定列中与 grepl 匹配的模式后过滤行

转载 作者:行者123 更新时间:2023-12-04 07:40:14 25 4
gpt4 key购买 nike

我有一个数据集(名为桌面),其中包含来自网络跟踪器的按时间顺序排列的信息,其中包含一列中不同用户访问的 URL 和另一列中的用户 ID。以搜索引擎分析为目标,我试图过滤所有包含用户向谷歌提交搜索查询的 URL 的行,我可以使用以下代码行:

data_google <- dplyr::filter(desktop, grepl('\\bgoogle.com/search\\b', desktop$url, ignore.case = T))
这工作正常。但是,我不仅对包含搜索查询的 URL 感兴趣,而且对用户在提交查询后访问的网页感兴趣。换句话说,来自用户实际点击的谷歌结果页面的链接。
是否不仅可以过滤 url 与模式匹配的行,还可以过滤该行之后的行?
任何帮助将不胜感激,谢谢

最佳答案

以 iris 数据集为例。我将插入所有以“set”开头的物种,然后得到它之后的行。这是一个非常简单的示例,但在您的情况下应该可以实现您的目标。

vec1 <- which(grepl("set", iris$Species))

vec2 <- vec1+1
vec3 <- unique(c(vec1,vec2))

iris[vec3,]
编辑如果您在组内需要它,下面的解决方案应该可以工作。使用我排序的钻石数据集来模拟您的订单,然后按切割分组并找到颜色包含“E”的位置,然后您可以使用 lag在第一个标志变量上获取它之后的行,它尊重 group_by()
diamonds2 <- diamonds %>% 
arrange(cut) %>%
group_by(cut) %>%
mutate(
fl = ifelse(rownm %in% which(grepl("E",color)),1,0 ),
fl2 = lag(fl)) %>%
filter(fl ==1 | fl2 ==1
)

关于r - 在特定列中与 grepl 匹配的模式后过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67520016/

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