Précision des nombres décimaux

Questions ne rentrant pas dans les rubriques ci-dessus. Les questions statistiques sans lien direct avec R sont classées dans cette rubrique

Modérateur : Groupe des modérateurs

Samuel Hennuyer
Messages : 13
Enregistré le : 12 Juil 2006, 14:52

Précision des nombres décimaux

Messagepar Samuel Hennuyer » 12 Juil 2006, 15:04

Bonjour à tous et à toutes,
Je suis nouveau sur ce forum je salue donc tout le monde bien bas.
Je voudrais savoir s'il est possible d'indiquer la précision d'un nombre décimal. PAr exemple étant donné le vecteur c(2.333,1.156), comment changer la précision des nombres à deux chiffres après la virgule.
Ceci prioritairement pour un affichage des nombres sur un graphique, mais comment faire en général ?

Samuel.

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 12 Juil 2006, 15:10

bonjour,

tu peux jeter un coup d'oeil sur la fonction "round".

voici un petit exemple :

Code : Tout sélectionner

>? 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
>


@++

Pierre

Samuel Hennuyer
Messages : 13
Enregistré le : 12 Juil 2006, 14:52

Messagepar Samuel Hennuyer » 12 Juil 2006, 15:17

merci !
c'est précisément ce que je cherchais, sans le trouver dans aucune doc de base.
merci encore vous êtes un as ;

Maud Pierre
Messages : 3
Enregistré le : 10 Nov 2010, 10:29

Messagepar Maud Pierre » 18 Nov 2010, 15:58

Bonjour tout le monde,
Moi j'ai un autre problème avec la fonction round() :
Je voudrais arrondir des nombres dont la dernière décimale est un 5. Hors, tantôt R arrondi au chiffre supérieur et tantôt au chiffre inférieur.
J'aimerai surtout arrondir toujours au chiffre supérieur quand il y a un 5 mais je n'ai pas trouver comment faire.

Par exemple :

Code : Tout sélectionner

> round(12.165,2)
[1] 12.16
> round(12.175,2)
[1] 12.18

> round(12.195,2)
[1] 12.2
> round(12.295,2)
[1] 12.29


De plus, dans la console lorsque l'on veut afficher un nombre avec bcp de chiffres après la virgule, R ne nous montre que les 8 premiers chiffres :

Code : Tout sélectionner

> 190.2357432
[1] 190.2357

> 1.2357432
[1] 1.235743


Y-a-t-il un moyen de passer outre ?

Maud

Eric Wajnberg
Messages : 568
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Messagepar Eric Wajnberg » 18 Nov 2010, 16:05

Maud Pierre a écrit :De plus, dans la console lorsque l'on veut afficher un nombre avec bcp de chiffres après la virgule, R ne nous montre que les 8 premiers chiffres :

Code : Tout sélectionner

> 190.2357432
[1] 190.2357

> 1.2357432
[1] 1.235743


Y-a-t-il un moyen de passer outre ?

Maud


Code : Tout sélectionner

> print(pi,digits=16)
[1] 3.141592653589793

Maud Pierre
Messages : 3
Enregistré le : 10 Nov 2010, 10:29

Messagepar Maud Pierre » 18 Nov 2010, 16:36

Merci beaucoup pour ce premier élément de réponse !

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

Messagepar Serge Rapenne » 18 Nov 2010, 18:05

J'avais posé une question similaire dans un de mes 1er post cf
http://forums.cirad.fr/logiciel-R/viewtopic.php?t=1194&highlight=
Pierre Bady avait proposé la solution suivante :

Code : Tout sélectionner

> arrondi <- function (x) ifelse(x-trunc(x)>=0.5,trunc(x)+1,trunc(x))
> arrondi(4.5)
[1] 5
> arrondi(4.4)
[1] 4
> arrondi(4.6)
[1] 5
> arrondi(3.5)
[1] 4
> arrondi(3.4)
[1] 3
> arrondi(3.6)
[1] 4
>


Serge

Maud Pierre
Messages : 3
Enregistré le : 10 Nov 2010, 10:29

Messagepar Maud Pierre » 19 Nov 2010, 07:59

D'accord, merci beaucoup, je vais creuser la question.


Retourner vers « Archives : Autres »

Qui est en ligne

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