Importation et conversion

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

normand renaud
Messages : 5
Enregistré le : 18 Oct 2017, 16:40

Importation et conversion

Messagepar normand renaud » 18 Oct 2017, 19:41

J'ai a importer plusieurs fichier de format .csv dans R. Chacun de ses fichiers comportent plusieurs colonnes "numériques". Ces dernières apparaissent toutes sous format chr.
Peut-on utiliser as.numeric sur plusieurs colonnes à la fois? Existe t-il un meilleur moyen pour arriver au résultat?

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Importation et conversion

Messagepar Gabriel Terraz » 19 Oct 2017, 06:17

Salut,
Si elles ont été importées sous forme de caractères, il y a peu de chances que tu puisses les transformer en numérique, cela reflète plutôt un léger problème :)
Le plus probable : ton marqueur de décimale est sous forme de virgule et non sous forme de point.

normand renaud
Messages : 5
Enregistré le : 18 Oct 2017, 16:40

Re: Importation et conversion

Messagepar normand renaud » 19 Oct 2017, 12:06

Le code suivant à bien fonctionné:

Code : Tout sélectionner

Data <- read.csv2(file.choose(), header = TRUE, stringsAsFactors = FALSE)
str(Data)
x <- c("Genre","Territoire")                                     
y <- c("Taille","Revenue","Ventes","Profit","Bonus")     
Data[x] <- lapply(Data[x],factor)

Ceci a eu pour effet de changer les variables "Genre" et "Territoire" en factor.
mais celui ci n'a pas fonctionné:

Code : Tout sélectionner

Data[y] <- lapply(Data[y],numeric)

alors j'ai du faire ceci:

Code : Tout sélectionner

Data$Revenue <- as.numeric(Data$Revenue)
Data$Ventes <- as.numeric(Data$Ventes)
Data$Profit <- as.numeric(Data$Profit)
Data$Bonus <- as.numeric(Data$Bonus)

et cela a fonctionné. La question étant pourquoi???
Merci

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Importation et conversion

Messagepar Pierre-Yves Berrard » 19 Oct 2017, 12:12

normand renaud a écrit :mais celui ci n'a pas fonctionné:

Code : Tout sélectionner

Data[y] <- lapply(Data[y],numeric)


Bonjour,
Il manque le "as." de "as.numeric".
PY

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Importation et conversion

Messagepar Serge Rapenne » 19 Oct 2017, 12:21

Bonjour,

il est possible de faire ce que tu cherches assez facilement avec le package dplyr :

Code : Tout sélectionner

library(dplyr)
Data<-Data %>% mutate_at(y,as.numeric) %>% mutate_at(x,as.factor)


mais lapply c'est bien aussi :-)

Serge

normand renaud
Messages : 5
Enregistré le : 18 Oct 2017, 16:40

Re: Importation et conversion

Messagepar normand renaud » 20 Oct 2017, 02:11

Thanks to you both!


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité