在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
问题是什么?
答案 0 :(得分:1)
我们可以使用recode
更改levels
列的factor
,而不是转换为character
,然后进行更改。
library(car)
df$q5 <- recode(df$q5, "c('A', 'B') = 0")
df$q5
#[1] 0 1 0 1
#Levels: 0 1
答案 1 :(得分:0)
您的问题无法重现。
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