我正在尝试使用
重新编码一些变量ppar$denr <- recode(ppar$q3c, 0 =c("1"), 1 =c("2"), 2 =c("5"), 3 = c("4", "11"), 4 = c("3","6", "7", "10", "12", "77"))
它返回此错误
Error: unexpected '=' in "ppar$denr <- recode(ppar$q3c, 0 ="
我尝试使用<-
,但返回
invalid (do_set) left-hand side to assignment
答案 0 :(得分:0)
在R语法中,以数字开头的名称不是语法,必须加引号:
dplyr::recode(factor(1:5), "1" = "A")
#> [1] A 2 3 4 5
#> Levels: A 2 3 4 5
就数据而言,1
是一个值,而不是名称,但是随着函数recode
的结构化,它被用作名称。
侧面说明:数字因数不是一个好主意,因为因数在内部是整数,因此无论是在级别上还是在整数下进行运算,数字因数都会引起混淆。
答案 1 :(得分:0)
您也可以通过memisc软件包来做到这一点:
library(memisc)
memisc::recode(ppar$q3c,
0 <- 1,
1 <- 2,
2 <- 5,
3 <- c(4,11))
或开车:
library(car)
car::recode(ppar$q3c, "1 = 0; 2 = 1; 5 = 2; c(4,11) = 3")