Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -19%
PC portable MSI Gaming Pulse 16” -Ultra7 155H ...
Voir le deal
1299 €

Erreur : is.numeric(x) n'est pas TRUE

3 participants

Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Erreur : is.numeric(x) n'est pas TRUE

Message par John10 Mar 19 Aoû 2014 - 14:43

Bonjour, je cherche à vérifier la normalité de données de température avec un test de Shapiro-Wilk sous le logiciel R. J'ai exporté mes données Excel au format csv. Mon tableau comporte des moyennes de températures journalières, les maximum, les minimum et les amplitudes journalières. Mon tableau ne comporte donc que des données numériques. Cependant, lorsque je veux réaliser mon test, le message d'erreur suivant s'affiche: Erreur : is.numeric(x) n'est pas TRUE.
Voici mon script:

Muanne<-read.table("C:/Users/Gianni/Desktop/R/Muanne.csv",sep=";","header"=TRUE)
> fix(Muanne)
> norm<-Muanne[1:34,3]
> norm
[1] 14,96 14,79 15,22 15,90 15,04 15,18 15,43 15,46 15,64 14,86 14,54 15,00
[13] 15,52 15,66 17,06 17,04 17,16 15,80 15,97 15,44 15,08 14,90 15,03 16,16
[25] 19,34 20,47 21,47 21,77 21,33 20,61 18,87 19,77 19,67 19,48
157 Levels: 13,61 13,79 13,81 13,96 14,00 14,01 14,07 14,10 14,11 ... 21,77
> shapiro.test(norm)
Erreur : is.numeric(x) n'est pas TRUE

En effet, R m'indique que mes données sont des "factors" et non "numeric" (bien que je ne comprenne pas pourquoi).
Après différentes manipulations pour convertir ces facteurs en valeurs numérique telles que cette suivante:

as.numeric(levels(norm))[norm]
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[26] NA NA NA NA NA NA NA NA NA
Message d'avis :
NAs introduits lors de la conversion automatique
> shapiro.test(norm)
Erreur : is.numeric(x) n'est pas TRUE

J'obtiens toujours le même problème. Je ne sais pas quoi faire et demande alors votre aide, en vous remerciant d'avance.

John


John10

Nombre de messages : 2
Date d'inscription : 19/08/2014

Revenir en haut Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Re: Erreur : is.numeric(x) n'est pas TRUE

Message par FMarwen Mer 20 Aoû 2014 - 9:58

Bonjour,

Essaye avec shapiro.test(Muanne$norm) ? et nous rendre la résultat.

FMarwen

Nombre de messages : 226
Date d'inscription : 17/04/2013

Revenir en haut Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Re: Erreur : is.numeric(x) n'est pas TRUE

Message par Nik Mer 20 Aoû 2014 - 10:48

Bonjour,

Ton problème se situ e à l'import des données car tu as des nombres dont le séparateur décimal est la virgule. Soit tu inclus l'argument dec="," dans l'import ou alors (à mon avis la meilleure solution) tu ne fait plus de tableau avec des chiffres avec des virgules en modifiant tes options régionales dans windows (si tu es bien sous windows).

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Re: Erreur : is.numeric(x) n'est pas TRUE

Message par John10 Mer 20 Aoû 2014 - 12:21

Bonjour,
Merci pour vos réponses! J'ai finalement réussi à solutionner mon problème avec ce script:

Muanne<-read.table("C:/Users/Gianni/Desktop/R/Muanne.csv",sep=";","header"=TRUE)

> fix(Muanne)
> norm<-Muanne[1:34,3]
> norm
[1] 14,96 14,79 15,22 15,90 15,04 15,18 15,43 15,46 15,64 14,86 14,54 15,00
[13] 15,52 15,66 17,06 17,04 17,16 15,80 15,97 15,44 15,08 14,90 15,03 16,16
[25] 19,34 20,47 21,47 21,77 21,33 20,61 18,87 19,77 19,67 19,48
157 Levels: 13,61 13,79 13,81 13,96 14,00 14,01 14,07 14,10 14,11 ... 21,77
> norm<-as.numeric(norm)
> shapiro.test(norm)

Shapiro-Wilk normality test

data: norm
W = 0.8721, p-value = 0.0009086

Dans la suite de l'analyse de mes données, j'ai réalisé un test de Kruskal-Wallis qui m'indique bien que j'ai des différences significatives pour mes variables thermiques. Je veux donc comparer mes échantillons 2 à 2 afin de visualiser où se trouve ces différences. Je souhaite alors réaliser le test de Wilcoxon suivant, et une erreur semblable à la précédente s'affiche:

>pairwise.wilcox.test(Muanne$Tmoyjourn,Muanne$Stations,paired=FALSE,p.adjust.method="bonferroni")
Erreur dans wilcox.test.default(xi, xj, paired = paired, ...) :
'x' doit être numérique

Visiblement il persiste un problème dans mes données. Avez-vous une idée du problème?
Merci encore.

John

John10

Nombre de messages : 2
Date d'inscription : 19/08/2014

Revenir en haut Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Re: Erreur : is.numeric(x) n'est pas TRUE

Message par FMarwen Mer 20 Aoû 2014 - 14:12

Bonjour,

Il faut faire comme il a indiqué Nik
Ton problème se situ e à l'import des données car tu as des nombres dont le séparateur décimal est la virgule. Soit tu inclus l'argument dec="," a écrit:
!

FMarwen

Nombre de messages : 226
Date d'inscription : 17/04/2013

Revenir en haut Aller en bas

Erreur : is.numeric(x) n'est pas TRUE Empty Re: Erreur : is.numeric(x) n'est pas TRUE

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum