Как контролировать количество десятичных цифр в записи.таблица() выход?


при работе с данными (например, в data.рамы) пользователь может управлять отображением цифр с помощью

options(digits=3) 

и список данных.вот такой кадр.

ttf.all

когда пользователю нужно вставить данные в Excell, как это

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

параметр digits игнорируется, а числа не округляются.

посмотреть хороший выход

> 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

но то, что находится в excel (буфер обмена) не округляется. Как контролировать в write.table()?

1   51   2013-01-10 18:53:30

1 ответ:

вы можете использовать функцию format() в:

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

format() - Это универсальная функция, которая имеет методы для многих классов, включая данные.кадры. В отличие от round(), он не будет выдавать ошибку, если ваш фрейм данных не все числовые. Дополнительные сведения о параметрах форматирования см. В файле справки через ?format