首页 > 解决方案 > 重新编码 R 数据框列中的数据

问题描述

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

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

数据 位置 新列
5 守门员 坏的
6 向前 好的
9 防御 坏的
5 向前 好的

标签: rdataframerecode

解决方案


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


推荐阅读