我有一个包含几列的数据框架。有些列在开始时具有固定的模式,例如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")
我们可以用tidyverse
library(dplyr)
df %>%
mutate(across(starts_with('q1a'),
~ recode_factor(., `1` = "Yes", `2` = "No",
`3` = "I don't know",`4` = "Maybe")))
如果根据确定的模式确定要重新编码的列:
my_col <- grep("q1a", names(df))
您可以对这些列使用lapply
来重新编码因子:
df[, my_col] <- lapply(df[, my_col], function(x) {
recode_factor(x, `1` = "Yes", `2` = "No", `3` = "I don't know", `4` = "Maybe")
})
如果这是你想要的,请告诉我。