首页 > 解决方案 > 按模式选择列并立即替换因子

问题描述

我有一个包含几列的数据框。某些列在开头具有固定模式,例如 q1a、q1a_30、q1a_60、q1a_90。我想调用具有相同乞求模式的列并替换它们的因子。

过程我可以为每个阶段单独做,但有什么方法可以一次做吗?这是我所做的:

df[,grepl("q1a", colnames(df))]
df$q1a<- recode_factor(df$q1a, `1` = "Yes", `2` = "No",`3` = "I don't know",`4` = "Maybe")

标签: rdesign-patternsfactorsrecode

解决方案


我们可能会使用tidyverse

library(dplyr)
df %>%
    mutate(across(starts_with('q1a'), 
    ~ recode_factor(., `1` = "Yes", `2` = "No",
           `3` = "I don't know",`4` = "Maybe")))

推荐阅读