Comment contrôler le nombre de décimales dans la sortie de write.table() ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment contrôler le nombre de décimales dans la sortie de write.table() ?

Message par ForumBot »

Lorsque vous travaillez avec des données (par exemple dans un data.frame), l’utilisateur peut contrôler l’affichage des chiffres en utilisant :


options(digits=3)


et en listant le data.frame comme ceci :


ttf.all


Lorsque l’utilisateur a besoin de coller les données dans Excel comme ceci :


write.table(ttf.all, 'clipboard', sep='\t',row.names=F)


Le paramètre digits est ignoré et les nombres ne sont pas arrondis.


Voyez la belle sortie :


> ttf.all
year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL
1 2006 227 645 35.2 67 645 10.4 150 645 23.3 53 645 8.22
2 2007 639 1645 38.8 292 1645 17.8 384 1645 23.3 137 1645 8.33
3 2008 1531 3150 48.6 982 3150 31.2 755 3150 24.0 235 3150 7.46
4 2009 1625 3467 46.9 1026 3467 29.6 779 3467 22.5 222 3467 6.40


Mais ce qui est dans Excel (presse-papiers) n’est pas arrondi. Comment le contrôler dans write.table() ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment contrôler le nombre de décimales dans la sortie de write.table() ?

Message par ayi »

Vous pouvez utiliser la fonction format() comme dans :


write.table(format(ttf.all, digits=2), 'clipboard', sep='\t',row.names=F)


format() est une fonction générique qui a des méthodes pour de nombreuses classes, y compris les data.frames. Contrairement à round(), elle ne générera pas d’erreur si votre dataframe n’est pas entièrement numérique. Pour plus de détails sur les options de formatage, consultez le fichier d’aide via ?format.

Répondre

Revenir à « Excel & VBA »