2011-11-17 58 views
1

我希望R显示小数点后的浮点数只有少量数字。很像“格式短”在matlab中会做的。如何导致R默认键入格式化的字符串

有没有简单的方法来做到这一点?

+2

尝试搜索'[r]格式数字或类似的东西;你会发现像http://stackoverflow.com/q/3245862,http://stackoverflow.com/q/7681756,http://stackoverflow.com/q/5458729 – Aaron

回答

6

您可以通过两种formatC,sprintf的或格式使用一个特设的转换

?formatC 
    formatC(.000000012, format='fg') 
    [1] "0.000000012" 

    ?sprintf 
    sprintf("%.10f", 0.0000000012) 
    [1] "0.0000000012" 

    format(.0000012, scientific=FALSE) 
    [1] "0.0000012" 

,或者你设置的数字选项:

options(digits=10) 

或scipen选项:

options(scipen=10) 
+2

'数字'选项可能更多适合比'scipen'。 –

3

只需使用options("digits"=someSmallNumber)。下面是一个使用默认值然后是数值2的示例:

R> set.seed(42); data.frame(a=rnorm(3), b=runif(3)) 
      a  b 
1 1.370958 0.736588 
2 -0.564698 0.134667 
3 0.363128 0.656992 
R> 
R> options("digits"=2) 
R> set.seed(42); data.frame(a=rnorm(3), b=runif(3)) 
     a b 
1 1.37 0.74 
2 -0.56 0.13 
3 0.36 0.66 
R>