Подтвердить что ты не робот

Как управлять числом десятичных цифр в файле write.table()?

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

options(digits=3) 

и список данных. Например, этот файл.

ttf.all

Когда пользователю необходимо вставить данные в Excell, как это,

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

Параметр цифр игнорируется, а числа не округлены.

Смотрите хороший вывод

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

4b9b3361

Ответ 1

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

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

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