【发布时间】:2021-08-03 20:50:54
【问题描述】:
我有一个宽格式的数据。例如
dt <- (age, gender, income, EDU1990, EDU1991, EDU1992, EDU1993, EDU1994, EDU1995 ..... EDU2021)
我正在尝试使用 EDU 选择所有列并一次重新编码所有变量中的变量。我尝试使用 grep 功能,但它不起作用。示例:
grep(^EDU, dt) %>%
mutate(EDU = recode(^EDU, "highschool"=1, "college"=2)
是否有一种更简单/更好的方法来选择这些多列并一次通过管道传递一个函数?
【问题讨论】:
-
欢迎来到 SO,rais!当代码不完整时,有时试图帮助一个问题可能很困难,通常只是为了“简洁”。在这种情况下,不清楚
dt是list还是data.frame或类似名称,也不清楚您是在字面上使用grep(^EDU还是grep("^EDU"。此外,grep将返回整数(或integer(0)),而不是dplyr::mutate期望的data.frame。请考虑稍微填写一下问题,以使其具有独立性和可重复性,并使用最少的示例数据和语法正确的代码。谢谢! -
一些链接提供了很好的讨论和如何做到这一点的例子包括:stackoverflow.com/q/5963269、minimal reproducible example和stackoverflow.com/tags/r/info。
-
@r2evans 感谢您的欢迎。我刚从这里开始,所以我会确保下次我会更加努力地更好地提出我的问题:)
-
@r2evans 我只是想在这里更好地提出我的问题 - stackoverflow.com/questions/68672373/…。感谢cmets和指导!