В RStudio я хочу добавить два новых столбца в фрейм данных. Эти два столбца должны быть заполнены текстом на основе условных операторов из уже существующего столбца в кадре данных.
data.frame
Переменная: число c (1,2,3,4 и т. Д.)
Мне нужен код (оператор), создающий и заполняющий два новых столбца "type_a" и "type_b" на основе числа в столбце "number". Я должен использовать точное число, поэтому "если 1 в" число ", заполните" type_a "с" some_text1 "и заполните" type_b "с" some_text2 ". Следующая строка будет" если 2 или 3 в "number" заполнить «type_a» с «some_text3» и «type_b» с «some_text4».
Это должно быть довольно просто, однако я новичок в R и в настоящее время изучаю курсы.
Спасибо
EDIT:
Благодаря ответам ниже, я теперь смог сделать то, что я хочу с этим кодом. Теперь вопрос в том, могу ли я как-то включить оператор type_b в первый case_when, чтобы мне не приходилось писать список чисел дважды, или можно включить только один столбец для case_when? (в SAS я бы сначала создал два столбца type_a и type_b, а затем написал «if number в (1,2,4,6), а затем выполните: type_a = 'some_text'; type_b = 'some_text2; end;).
Спасибо
ds <- tibble(number = 1:6)
ds %>%
mutate(
type_a = case_when(
number %in% c(1,2,4,6) ~ "some_text", TRUE ~ NA_character_
),
type_b = case_when(
number %in% c(1,2,4,6) ~ "some_text2", TRUE ~NA_character_
)
)
#The code below do not work, but hopefully you get the idea!
library(tidyverse)
ds <- tibble(number = 1:6)
ds %>%
mutate(
type_a, type_b = case_when(
number %in% c(1,2,4,6) ~ "some_text", ~ "some_text2",
TRUE ~ NA_character_))