不是一个特别有用的问题,但......
我不小心将字符列(带有字母和数字组合)转换为数字列;它让我想知道R究竟是如何进行这种转换的?
答案 0 :(得分:0)
这取决于原始字符向量的编码方式。如果它是真正的字符向量,则任何非数字的值都将替换为NA:
dat <- c("a","b","c","d","a1","2b", "3")
as.numeric(dat)
# [1] NA NA NA NA NA NA 3
# Warning message:
# NAs introduced by coercion
但是,如果向量是因子,则R使用因子级别来分配数值:
dat <- as.factor(c("a","b","c","d","a1","2b", "3"))
dat
# [1] a b c d a1 2b 3
# Levels: 2b 3 a a1 b c d
as.numeric(dat)
# [1] 3 5 6 7 4 1 2