2016-07-05 23 views
0

不是特别有用的问题,但...R如何将字符转换为数字?

我意外地将字符列(用字母和数字组合)转换为数字列;它让我想知道R如何做这个转换?

+0

http://www.r-bloggers.com/type-conversion-and-you-or-and-r/ –

回答

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