changer le nombre de décimales après la virgule [R]

Aller en bas

changer le nombre de décimales après la virgule [R] Empty changer le nombre de décimales après la virgule [R]

Message par toussaZK le Jeu 5 Juin 2014 - 9:09

Bonjour,

Ma question est : pour un vecteur (A<-c(2.564,3.582,5.875)) comment garder seulement 2 chiffres après la virgule sans passer par l'arrondi
c'est à dire avoir le résultat suivant :
A
[1] 2.56 3.58 5.87

Merci d'avance pour vos réponses,

Cordialement,
Inès

toussaZK

Nombre de messages : 81
Date d'inscription : 02/06/2014

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

changer le nombre de décimales après la virgule [R] Empty Re: changer le nombre de décimales après la virgule [R]

Message par zezima le Jeu 5 Juin 2014 - 9:13

Bonjour,

Pourquoi ne veux-tu pas passer par l'arrondi ?
Sinon, c'est la fonction round(X,nb_dec).

>? round
> x <- rnorm(10)
> x
[1] -0.3806 0.1330 -2.8466 -0.5553 0.3756 0.8459 0.4515 -0.1832 -0.4996
[10] 2.4584
> round(x,2)
[1] -0.38 0.13 -2.85 -0.56 0.38 0.85 0.45 -0.18 -0.50 2.46
zezima
zezima

Nombre de messages : 899
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

changer le nombre de décimales après la virgule [R] Empty Re: changer le nombre de décimales après la virgule [R]

Message par toussaZK le Jeu 5 Juin 2014 - 9:18

merci pour la réponse et l'exemple
Puisque la fonction round sous R retourne la partie entière supérieure ou inférieure , elle ne retourne pas la valeur exacte
SI tu regardes la 3 eme valeur de ton vecteur x
x[3]=-2.8466
et round(-2.8466,2)= -2.85

Je cherche tout simplement à avoir -2.84 seulement

toussaZK

Nombre de messages : 81
Date d'inscription : 02/06/2014

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

changer le nombre de décimales après la virgule [R] Empty Re: changer le nombre de décimales après la virgule [R]

Message par zezima le Jeu 5 Juin 2014 - 9:37

Si toutes les modalités de ton vecteur ont une taille en nombre de charactère similaire, il faut utiliser la fonction substr, elle sélectionne une partie de tes données :

substr(x, start, stop)
> x <- rnorm(10)
> x
[1] -0.3806 0.1330 -2.8466 -0.5553 0.3756 0.8459 0.4515 -0.1832 -0.4996
[10] 2.4584
> substr(x,1,3)
[1] -0.38 0.13 -2.84 -0.55 0.37 0.84 0.45 -0.18 -0.49 2.45
zezima
zezima

Nombre de messages : 899
Date d'inscription : 26/02/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

changer le nombre de décimales après la virgule [R] Empty Re: changer le nombre de décimales après la virgule [R]

Message par gg le Jeu 5 Juin 2014 - 11:14

InesZK a écrit:merci pour la réponse et l'exemple
Puisque la fonction round sous R retourne la partie entière supérieure ou inférieure , elle ne retourne pas la valeur exacte
SI tu regardes la 3 eme valeur de ton vecteur x
x[3]=-2.8466
et round(-2.8466,2)= -2.85

Je cherche tout simplement à avoir -2.84 seulement

-2.84 n'est pas une valeur exacte, c'est une valeur approchée, ici par excès. Et qui est 2 fois plus fausse que -2.85.
Remplacer 1,999 par 1 peut poser des problèmes de calcul ensuite.

Cordialement.

gg

Nombre de messages : 2102
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

changer le nombre de décimales après la virgule [R] Empty Re: changer le nombre de décimales après la virgule [R]

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