小编Qui*_*ith的帖子

在 for 循环中重新编码几个变量

我正在处理一些调查数据,其中一些响应的编码不一致。例如,“我不知道”可能被编码为 4、5、97 或 777。我想尽可能有效地将所有这些响应标准化为“77”。我想使用人行横道,并希望避免为发生这种情况的每个变量创建一个新的重新编码命令,如果可能的话,因为有几个。

library(tidyverse)

#df with the inconsistent fourth category
var1 <- c("1", "2", "3", "4")
var2 <- c("1", "2", "3", "5")
var3 <- c("1", "2", "3", "97")
var4 <- c("1", "2", "3", "777")

df <- data.frame(var1, var2, var3, var4)

var <- c("var1", "var2", "var3", "var4")
oldvalue <- c("4", "6", "97", "777")
newvalue <- c("77", "77", "77", "77")

#crosswalk of old values to new values
cw <- data.frame(var, oldvalue, newvalue)

recodevars = cw$var
Run Code Online (Sandbox Code Playgroud)

我尝试过的一些事情如下,尽管我没有任何运气。如果您有任何建议,请告诉我。

rec_all = df %>%
  transmute_at(vars(recodevars), …
Run Code Online (Sandbox Code Playgroud)

r recode tidyverse mutate

1
推荐指数
1
解决办法
109
查看次数

标签 统计

mutate ×1

r ×1

recode ×1

tidyverse ×1