Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Erreur : is.numeric(x) n'est pas TRUE
3 participants
Page 1 sur 1
Erreur : is.numeric(x) n'est pas TRUE
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
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
Re: Erreur : is.numeric(x) n'est pas TRUE
Bonjour,
Essaye avec shapiro.test(Muanne$norm) ? et nous rendre la résultat.
Essaye avec shapiro.test(Muanne$norm) ? et nous rendre la résultat.
FMarwen- Nombre de messages : 226
Date d'inscription : 17/04/2013
Re: Erreur : is.numeric(x) n'est pas TRUE
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
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
Re: Erreur : is.numeric(x) n'est pas TRUE
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
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
Re: Erreur : is.numeric(x) n'est pas TRUE
Bonjour,
Il faut faire comme il a indiqué Nik
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
Sujets similaires
» Error: is.numeric(x) is not TRUE
» Problème : is.numeric(x)
» Erreur AFC
» Erreur R
» AIC et erreur de classification
» Problème : is.numeric(x)
» Erreur AFC
» Erreur R
» AIC et erreur de classification
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum