r - 按模式选择列并立即替换因子
问题描述
我有一个包含几列的数据框。某些列在开头具有固定模式,例如 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")))
推荐阅读
- javascript - 在 p5.Element 方法中传递参数
- tensorflow - 在 Tensorflow 中训练多个模型时如何避免过多的内存使用
- r - 如何用最接近的两个值的平均值替换 NA
- c# - 使用 FluentFTP 通过 TLS/SSL 向/从 FTP 服务器传输时,“身份验证失败,因为远程方已关闭传输流”
- python - 为什么当我们为列表列表中的每个列表列出列表的所有元素时,我们需要在 for in 子句中使用特定的顺序?
- kubernetes - 意外覆盖了默认的集群管理员角色
- jsf - 浏览器不解释 JSF 标记
- java - 在这种情况下,如何根据单击的单选按钮检索数值?
- python - Python ortools 安排每周最大/最小工作时间
- html - Bootstrap 导航栏垂直分隔线