在 R 数据框列中重新编码数据

Recode data in an R dataframe column

我有一个包含两列的 df:数据和位置,其中: 数据是进球数 (1-10) 位置是扮演的位置(守门员、后卫、前锋)

我想在 df 中添加一个新列,如果位置是“前锋”,则新列中的行表示“好”,否则,如果是“守门员”或“防守”,让新列中的行说“坏” 例如

data position new.column
5 goalie bad
6 forward good
9 defence bad
5 forward good
library(tidyverse)
df <- data.frame(data = c(5, 6, 9, 5), 
                 position = c('goalie', 'forward', 'defense', 'forward')) %>% 
mutate(new.column = case_when(
  position == 'forward' ~'good', 
  TRUE ~'bad'
))