Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
problème pour conversion numérique
2 participants
Page 1 sur 1
problème pour conversion numérique
Bonjour,
j'ai des données numériques qui ne sont pas considérées comme telles par R. Par conséquent je fais une commande pour la conversion.
Soit data ma table de données et ANC_2013 la colonne que je veux convertir en valeurs numériques, voici la commande :
data$ANC_2013 <- as.numeric(as.vector(data$ANC_2013))
La conversion se passe très bien sauf pour les milliers pour lesquelles j'ai un message d'avis :
"NAs introduits lors de la conversion automatique"
Et effectivement dès que la donnée est > 999, j'ai un NA créé lors de la conversion!
Quelqu'un connait-il un moyen de convertir toutes les données en numérique?
Merci d'avance
j'ai des données numériques qui ne sont pas considérées comme telles par R. Par conséquent je fais une commande pour la conversion.
Soit data ma table de données et ANC_2013 la colonne que je veux convertir en valeurs numériques, voici la commande :
data$ANC_2013 <- as.numeric(as.vector(data$ANC_2013))
La conversion se passe très bien sauf pour les milliers pour lesquelles j'ai un message d'avis :
"NAs introduits lors de la conversion automatique"
Et effectivement dès que la donnée est > 999, j'ai un NA créé lors de la conversion!
Quelqu'un connait-il un moyen de convertir toutes les données en numérique?
Merci d'avance
raclette- Nombre de messages : 12
Date d'inscription : 19/04/2013
Re: problème pour conversion numérique
bonjour,
pour répondre à ta question il faudrait déjà savoir sous quelle format sont tes données. Si c'est des facteurs, comme ça peut arriver au moment de l'import d'un fichier avec la fonction read.table, la première chose à faire c'est de savoir pourquoi les données ont été transformées (un point au lieu d'une virgule pour un nombre décimal ou l'inverse, des données du genre > à 100, etc.). Si tes données sont sous forme de facteurs, il faut d'abord les passer sous forme de caractère et ensuite les transformées en numérique :
cdlt
pour répondre à ta question il faudrait déjà savoir sous quelle format sont tes données. Si c'est des facteurs, comme ça peut arriver au moment de l'import d'un fichier avec la fonction read.table, la première chose à faire c'est de savoir pourquoi les données ont été transformées (un point au lieu d'une virgule pour un nombre décimal ou l'inverse, des données du genre > à 100, etc.). Si tes données sont sous forme de facteurs, il faut d'abord les passer sous forme de caractère et ensuite les transformées en numérique :
- Code:
as.numeric(as.character(...))
cdlt
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: problème pour conversion numérique
Merci pour ta réponse mais que je code
as.numeric(as.character(...)) ou as.numeric(as.vector(...))
j'obtiens la même chose : la conversion se fait bien pour les nombres inférieurs à 999, mais dès qu'il s'agit de millier, valeur na générée.
Mes données sont bien sous format facteur d'après l'interrogation (is.factor) et il ne s'agit que de nombres (pas de signe tel que >).
Si je modifie à partir d'excel le fichier source en convertissant les données en nombre, il n'y a plus de pb, la conversion se fait bien. Néanmoins j'aimerais ne pas avoir à modifier le fichier source.
Merci d'avance.
as.numeric(as.character(...)) ou as.numeric(as.vector(...))
j'obtiens la même chose : la conversion se fait bien pour les nombres inférieurs à 999, mais dès qu'il s'agit de millier, valeur na générée.
Mes données sont bien sous format facteur d'après l'interrogation (is.factor) et il ne s'agit que de nombres (pas de signe tel que >).
Si je modifie à partir d'excel le fichier source en convertissant les données en nombre, il n'y a plus de pb, la conversion se fait bien. Néanmoins j'aimerais ne pas avoir à modifier le fichier source.
Merci d'avance.
raclette- Nombre de messages : 12
Date d'inscription : 19/04/2013
Re: problème pour conversion numérique
c'est ce que je te disais, tes nombres >999 sont stocké sous une forme qui n'est pas interprétable pour la conversion en nombre. Est-ce que dans Excel il y a un séparateur de millier (une virgule ou un espace) ? Si oui alors il te faut transformer le facteur en character (as.characer) virer de la chîane de caractère le séparateur de millier et ensuite faire as.numeric :
- Code:
x <- factor(c("1 000", "1,000", "1000"))
x <- as.character(x)
x <- gsub("[^0-9]", "", x)
x <- as.numeric(x)
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: problème pour conversion numérique
Super!
Merci beaucoup!
Merci beaucoup!
raclette- Nombre de messages : 12
Date d'inscription : 19/04/2013
Sujets similaires
» Compter le nombre de variable numérique
» Conversion variable en log10 et régression linéaire simple
» interpretation graphique et numérique
» Argument non numérique en ACP avec dudi.pca
» l'argument n'est ni numérique, ni logique : renvoi de NA
» Conversion variable en log10 et régression linéaire simple
» interpretation graphique et numérique
» Argument non numérique en ACP avec dudi.pca
» l'argument n'est ni numérique, ni logique : renvoi de NA
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum