2016-07-05 2 views
0

Pas une question particulièrement utile, mais ...Comment R convertit les caractères en nombres?

J'ai accidentellement converti une colonne de caractères (avec une combinaison de lettres et de chiffres) en une colonne numérique; ça m'a fait me demander comment exactement R fait cette conversion?

+0

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

Répondre

0

Cela dépend de la façon dont le vecteur de caractères d'origine a été codé. S'il est un vecteur vrai caractère, une valeur qui est pas un nombre est remplacé par 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 

Cependant, si le vecteur a été un facteur , alors R utilise les niveaux de facteur pour affecter les valeurs numériques:

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