gpt4 book ai didi

r - 使用 case_when 进行变异并包含

转载 作者:行者123 更新时间:2023-12-01 18:30:03 28 4
gpt4 key购买 nike

我觉得应该有一种有效的方法可以使用 case_whencontains 通过 dplyr 来改变新列,但无法让它工作。

我知道在 mutate 中使用 case_when 是“有点实验性”(如 this 帖子中所示),但如果有任何建议,我将不胜感激。

不起作用:

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")
)

最佳答案

我们可以使用grep

df %>%  
mutate(group = case_when(grepl("Bl", b) ~ "Group1",
grepl("re", b, ignore.case = TRUE) ~"Group2"))
# a b group
#1 1 Black Group1
#2 2 Green Group2
#3 3 Green Group2
#4 4 Green Group2
#5 5 Red Group2
#6 6 Green Group2
#7 7 Black Group1
#8 8 Black Group1
#9 9 Green Group2
#10 10 Green Group2
#11 1 Green Group2
#12 2 Green Group2
#13 3 Blue Group1
#14 4 Red Group2
#15 5 Blue Group1
#16 6 Red Group2
#17 7 Blue Group1
#18 8 Blue Group1
#19 9 Black Group1
#20 10 Black Group1

关于r - 使用 case_when 进行变异并包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43696227/

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