不能将同一列中的多个条件与dplyr一起使用mutate()

不能将同一列中的多个条件与dplyr一起使用mutate(),r,dplyr,logical-operators,mutate,R,Dplyr,Logical Operators,Mutate,我想在TIBLE(数据)中使用mutate()创建一个新列(newcol)。新列(newcol)中的值取决于另一列(othercol)中的值 如果othercol是“A”、“A1”、“A3”,我想在newcol中转换成1,否则newcol应该是0 我尝试了几个代码,但都失败了。这一切都可以归结为我缺乏使用dplyr和逻辑运算符的经验 我该怎么办 谢谢我们可以使用%中的%来创建逻辑向量 library(dplyr) data <- data %>% mutate(

我想在TIBLE(数据)中使用mutate()创建一个新列(newcol)。新列(newcol)中的值取决于另一列(othercol)中的值

如果othercol是“A”、“A1”、“A3”,我想在newcol中转换成1,否则newcol应该是0

我尝试了几个代码,但都失败了。这一切都可以归结为我缺乏使用dplyr和逻辑运算符的经验

我该怎么办


谢谢

我们可以使用%中的
%来创建逻辑向量

library(dplyr)
data <- data %>%
           mutate(newcol = as.integer(othercol %in% c('A', 'A1', 'A3')))
或者使用
str\u detect

library(stringr)
data <- data %>%
           mutate(newcol = +(str_detect(othercol, '^A\\d*$')))
data <- data %>%
           mutate(newcol = ifelse(othercol %in% c('A', 'A1', 'A3'), 1, 0))
library(stringr)
data <- data %>%
           mutate(newcol = +(str_detect(othercol, '^A\\d*$')))
data$newcol <- +(grepl("^A\\d*$", data$othercol))