【发布时间】:2020-03-19 18:55:29
【问题描述】:
我正在尝试根据值的“码本”替换数据框中的大量值。我有两个小标题:
head(df)
# A tibble: 6 x 6
responseid color q1_first_choice q1_second_choice q1_third_choice
<dbl> <chr> <chr> <chr> <chr>
1 34 red q1_red_b q1_red_a Pomegranate
2 35 blue q1_blue_a q1_blue_c q1_blue_b
3 36 green Tangerine q1_green_b q1_green_a
4 37 purple q1_purple_b q1_purple_a q1_purple_c
5 38 red q1_red_a Watermelon q1_red_c
6 39 green q1_green_a q1_green_c q1_green_b
head(codes)
# A tibble: 6 x 2
Code Name
<chr> <chr>
1 q1_red_a Apple
2 q1_red_b Raspberry
3 q1_red_c Cherry
4 q1_blue_a Banana
5 q1_blue_b Orange
6 q1_blue_c Pineapple
我想用代码$Name 值替换大量列中的 df 值。在命令中输入的值太多,所以我想引用代码中的列。
我想答案可能是 case_when、recode 或 chartr 的某种变体,但我似乎无法弄清楚如何在这些函数中指定它。
【问题讨论】:
-
如果你能提供一个reprex,那将有很大帮助。只需在控制台中输入 dput(data frame name),然后粘贴输出。
-
我假设您在 'df' 中存在的 'code' 数据集中拥有所有相应的 'Code'。在
head显示的数据中,某些值在“代码”数据集中没有对应的匹配项
标签: r dplyr tidyverse data-cleaning