R data.table控制打印数字的数量

时间:2016-02-22 19:50:04

标签: r data.table

我想减少在R中调用data.table对象时打印的位数。我宁愿在控制台中放入更多的列,而不是每个数字最多可以看到8个小数点。

标准方式options("digits" = 4)(如this question中所述)似乎不适用于数据表。

一个例子:

 set.seed(7)
 DT <- data.table(x = rnorm(10), y = 1:10)
 DT # prints 10 digits for me, including the decimal point

 options("digits" = 4)
 DT # prints 8 digits (?)

但一般来说,option起作用,因为

 set.seed(7)
 rnorm(1)

打印2.287

1 个答案:

答案 0 :(得分:0)

我无法重现此行为。 这是我的控制台的输出:

set.seed(7)
DT <- data.table(x = rnorm(10), y = 1:10)
DT

           x  y
1:  2.28724716134  1
2: -1.19677168222  2
3: -0.69429251044  3
4: -0.41229295114  4
5: -0.97067334112  5
6: -0.94727994523  6
7:  0.74813934029  7
8: -0.11695522589  8
9:  0.15265762628  9
10: 2.18997810733 10

但是:

options("digits" = 4)

DT
      x  y
 1:  2.2872  1
 2: -1.1968  2
 3: -0.6943  3
 4: -0.4123  4
 5: -0.9707  5
 6: -0.9473  6
 7:  0.7481  7
 8: -0.1170  8
 9:  0.1527  9
 10: 2.1900 10

还请注意,print.data.table带有省略号参数...,该参数传递给format,因此对于单个用例,您可以像这样传递digits:< / p>

print.data.table(DT, digits=4)

在打印?format时,请参见data.table