如何在不影响现有NA的情况下将一列类因子转换为数字? 我不想将其转换为0!
>Conceded
[1] 665 515 NA NA NA 67 98 15 31 NA NA NA NA NA 2195 2525 1756 6366 3143
[20] 7857 5926 2254 3199 4297 4568 2246 1506 2291
21 Levels: 15 1506 1756 2195 2246 2254 2291 2525 31 3143 3199 4297 4568 515 5926 6366 665 67 ...
NA
>class(Conceded)
[1]"factor"
>as.numeric(Conceded)
[1] 17 14 21 21 21 18 20 1 9 21 21 21 21 21 4 8 3 16 10 19 15 6 11 12 13 5 2 7
1)将因子向量转换为数字向量时,如何保留NA的值? 2)这些转换结果还会显示哪些值 3)为什么我需要先转换为字符向量,然后再转换为数字向量?
答案 0 :(得分:2)
您可能需要先转换为字符,然后转换为数字。否则,将使用因子水平作为值,而不是文本编码的原始值。
x <- factor(c(23,4,7,16, 10, NA))
as.numeric(x) # wrong values
as.numeric(as.character(x)) # correct values