如何控制write.table()输出中的小数位数?
处理数据时(例如,在data.frame中),用户可以通过使用控制显示数字
options(digits=3)
并像这样列出data.frame。
ttf.all
当用户需要像这样将数据粘贴到Excell中
write.table(ttf.all, 'clipboard', sep='\t',row.names=F)
数字参数被忽略,数字不被舍入。
看到很好的输出
> ttf.all year V1.xx V1.yx ratio1 V1.xy V1.yy ratioR V1.xx V1.yx ratioAL V1.xy V1.yy 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()
?
您可以使用函数format()
如下所示:
write.table(format(ttf.all, digits=2), 'clipboard', sep='\t',row.names=F)
format()
是一个generics函数,它有很多类的方法,包括data.frames。 与round()
不同,如果你的数据框不是全部的数字,它不会抛出错误。 有关格式选项的更多详细信息,请参阅通过?format
的帮助文件