L'astuce du jour : sur les arrondis

Aller en bas

L'astuce du jour : sur les arrondis

Message  flbresson le Lun 22 Nov - 12:17

Toujours de l'optique de produire des output avec R, j'ai souvent fait face au problème d'arrondi des coefficients estimés afin de faciliter la lecture des tableaux. Partons de l'exemple suivant :

Code:
> matrix(c(pi/100,pi,2*pi,pi/400),2)
          [,1]        [,2]
[1,] 0.03141593 6.283185307
[2,] 3.14159265 0.007853982

Imaginons que je souhaite me limiter à deux chiffres significatifs. Pas de problème normalement puisque R propose les fonctions round(), ceiling(), floor(), trunc() et surtout signif() pour faire ce type de job. Or voici ce que l'on obtient avec cette dernière fonction :

Code:
> signif(matrix(c(pi/100,pi,2*pi,pi/400),2),digits=2)
      [,1]  [,2]
[1,] 0.031 6.3000
[2,] 3.100 0.0079

C'est certes mieux, mais en y regardant de plus près, j'ai quand même deux cellules qui présentent des zéros surnuméraires. Je peux évidemment réaliser mon export sous LaTeX et nettoyer le fichier, mais ça peut devenir rapidement insupportable si l'on a un grand nombre de tableaux. Il est aussi possible de faire tourner une boucle afin d'appliquer la fonction signif() individuellement sur chaque cellule mais c'est pas beau.

Le mieux est en fait d'utiliser la fonction formatC qui permet de mettre en forme des chiffres pour la réalisation d'output (comprendre par là que les chiffres de la matrice seront convertis en chaîne de caractère mais en s'en fiche puisqu'il s'agit d'exporter un tableau). Résultat :
Code:
> formatC(matrix(c(pi/100,pi,2*pi,pi/400),2),format="g",digits=2)
    [,1]    [,2]   
[1,] "0.031" "6.3" 
[2,] "3.1"  "0.0079"

Je vous laisse lire la doc de formatC() pour plus de précisions.
avatar
flbresson

Messages : 360
Date d'inscription : 19/11/2009
Age : 39
Localisation : Clermont-Ferrand

Voir le profil de l'utilisateur http://sites.google.com/site/flbresson2/

Revenir en haut Aller en bas

Re: L'astuce du jour : sur les arrondis

Message  Fred le Mar 23 Nov - 0:08



J'apprécie le geste et le format. Je vais essayer de lancer le mouvement sur stata.
avatar
Fred
Admin

Messages : 370
Date d'inscription : 17/11/2009
Age : 34
Localisation : Doctorant

Voir le profil de l'utilisateur http://themanwhobloggedtheworld.blogspot.com/

Revenir en haut Aller en bas

Re: L'astuce du jour : sur les arrondis

Message  flbresson le Mar 23 Nov - 0:50

Faut quand même que je fasse attention au titre car je ne suis pas certain de poster une astuce par jour. Une par semaine serait déjà bien Smile
avatar
flbresson

Messages : 360
Date d'inscription : 19/11/2009
Age : 39
Localisation : Clermont-Ferrand

Voir le profil de l'utilisateur http://sites.google.com/site/flbresson2/

Revenir en haut Aller en bas

Re: L'astuce du jour : sur les arrondis

Message  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