相关疑难解决方法(0)

正则表达式中的"?i"和"?-i"是什么意思?

有人可以用正则表达式来解释什么(?i)(?-i)包装一个单词吗?

(?i)test(?-i)
Run Code Online (Sandbox Code Playgroud)

我测试和它匹配test,TESTteSt.但我以前从未见过这个.什么是?之前i是什么意思?我看到这个在这里.

ruby regex

53
推荐指数
3
解决办法
6万
查看次数

用case_when和contains进行变异

我觉得应该有一种有效的方法来dplyr使用case_whenand 来改变新列contains,但是无法让它工作.

我理解使用case_when内部mutate是"有点实验性"(如本文所述),但对任何建议都会感激不尽.

不起作用:

library(tidyverse)

set.seed(1234)

x <- c("Black", "Blue", "Green", "Red")

df <- data.frame(a = 1:20, 
                 b = sample(x,20, replace=TRUE))

df <- df %>%
  mutate(group = case_when(.$b(contains("Bl")) ~ "Group1",
                 case_when(.$b(contains("re", ignore.case=TRUE)) ~ "Group2")
  )  
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

5
推荐指数
2
解决办法
6509
查看次数

使用 case_when 进行字符串匹配的多个模式

我正在尝试使用 str_detect 和 case_when 根据多个模式重新编码字符串,并将重新编码的值的每次出现粘贴到新列中。正确列是我试图实现的输出。

这类似于this questionthis question If it can't be done with case_when (仅限于我认为的一种模式)有没有更好的方法可以仍然使用tidyverse来实现?

Fruit=c("Apples","apples, maybe bananas","Oranges","grapes w apples","pears")
Num=c(1,2,3,4,5)
data=data.frame(Num,Fruit)

df= data %>% mutate(Incorrect=
paste(case_when(
  str_detect(Fruit, regex("apples", ignore_case=TRUE)) ~ "good",
  str_detect(Fruit, regex("bananas", ignore_case=TRUE)) ~ "gross",
  str_detect(Fruit, regex("grapes | oranges", ignore_case=TRUE)) ~ "ok",
  str_detect(Fruit, regex("lemon", ignore_case=TRUE)) ~ "sour",
  TRUE ~ "other"
),sep=","))

  Num                 Fruit Incorrect
  1                Apples      good
  2 apples, maybe bananas      good
  3               Oranges      other
  4       grapes w apples      good
  5                pears       other
Run Code Online (Sandbox Code Playgroud)

 Num …
Run Code Online (Sandbox Code Playgroud)

r case-when tidyverse

3
推荐指数
1
解决办法
1180
查看次数

标签 统计

r ×2

tidyverse ×2

case-when ×1

dplyr ×1

regex ×1

ruby ×1