如何将(1)是和(2)否更改为0和1?

时间:2019-07-04 03:32:41

标签: r dataframe

我在将(1)是和(2)否更改为1和0时遇到麻烦吗?

我尝试了这些,但是它们不起作用

 h <- lapply(df$LIC, function(x) as.integer(x=="(1) Yes"))
 df$LIC.eq('(1) Yes').mul(1)
 CA <- ifelse(df$LIC=="(1) Yes", 1, 2)
 j<-as.integer(as.character(df$LIC)=="(1) Yes")
 k<-as.numeric(as.factor(df$LIC)=="(1) Yes")

2 个答案:

答案 0 :(得分:2)

您可以使用base r

进行操作
df$LIC[(df$LIC) =="(1) Yes" ]<-"1"

df$LIC[(df$LIC) =="(2) No" ]<-"0"

答案 1 :(得分:0)

tidyverse解决方案,没有突变。

x <- c("yes", "no", "other", "no", "some stuff", "yes")

dplyr::recode(x, yes = 1, no = 0, .default = NA_real_)

#> [1]  1  0 NA  0 NA  1

要将其与名为df的数据框一起使用,可以使用:

library(dplyr)

df %>%
  mutate(LIC = recode(LIC, `(1) Yes` = 1, `(2) No` = 0, .default = NA_real_))