在r中转换值时导致NA的原因是什么?

  • 本文关键字:NA 是什么 转换
  • 更新时间 :
  • 英文 :


在df中,有如下因子列:

q5
A
1
B
1

我想把A B转换成0
df$q5<-as.character(df$q5)

df$q5[df$q5!=1]<-0

但结果是:

q5
NA
1
NA
1

有什么问题吗?

我们可以使用recode来更改factor列的levels,而不是转换为character然后再更改。

library(car)
df$q5 <- recode(df$q5, "c('A', 'B') = 0")
df$q5
#[1] 0 1 0 1
#Levels: 0 1

您的问题无法重现。

df <- read.table(con<-file("clipboard"),header=T)
df$q5.char <- as.character(df$q5)
df$q5.char[df$q5.char!=1] <- 0
  q5 q5.char
1  A       0
2  1       1
3  B       0
4  1       1

相关内容

最新更新