[R] Formatting numeric values in a data frame

jim holtman jholtman at gmail.com
Wed Feb 25 22:39:35 CET 2009


This might do what you want:

> x <- read.table(textConnection("ID              x1                               x2                             x3
+ a1              0.0123334                       0.000020000
   12.33338
+ b3              0.477896366             0.000020000             9.44446
+ c1              0.477896366             0.000020000             9.44446
+ d5              0.477896366             0.000020000             9.44446
+ e1              0.477896366             0.000020000             9.44446
+ f2              0.477896366             0.000020000             9.44446
+ g6              0.333333333             0.000020000             9.44446
+ h8              0.333333333             0.000020000             9.44446
+ i2              0.333333333             0.000020000             9.44446
+ k2              0.333333333             0.000020000
9.44446"), header=TRUE)
> closeAllConnections()
> x.c <- x  # make a copy
> x.c[] <- lapply(x.c, function(.col){
+     if (is.numeric(.col)) return(sprintf("%.2f", .col))
+     else return(.col)
+ })
>
> x.c
   ID   x1   x2    x3
1  a1 0.01 0.00 12.33
2  b3 0.48 0.00  9.44
3  c1 0.48 0.00  9.44
4  d5 0.48 0.00  9.44
5  e1 0.48 0.00  9.44
6  f2 0.48 0.00  9.44
7  g6 0.33 0.00  9.44
8  h8 0.33 0.00  9.44
9  i2 0.33 0.00  9.44
10 k2 0.33 0.00  9.44
>


On Wed, Feb 25, 2009 at 4:19 PM, Pele <drdionc at yahoo.com> wrote:
>
> Hi R users,
>
> I have a data frame that contains 10K obs and 200 variables
> where I am trying to format the numeric columns to look
> like the output table below (format to 2 decimal places) but I am
> having no luck.. Can someone tell me the best way to
> accomplist this?
>
> Thanks in advance for any help!
>
>  str(ad.test)
> 'data.frame':   10,000 obs. of  200 variables:
>  $ ID             : Factor w/ ..................
>  $ x1             : num  0.1123334 0.4778966..........
>  $ x2             : num  0.00002 0.00002..............
>  $ x3             : num  12.33338 9.44446.............
>  ====================================================
> Data.frame....
> ID              x1                               x2                             x3
> a1              0.0123334                       0.000020000             12.33338
> b3              0.477896366             0.000020000             9.44446
> c1              0.477896366             0.000020000             9.44446
> d5              0.477896366             0.000020000             9.44446
> e1              0.477896366             0.000020000             9.44446
> f2              0.477896366             0.000020000             9.44446
> g6              0.333333333             0.000020000             9.44446
> h8              0.333333333             0.000020000             9.44446
> i2              0.333333333             0.000020000             9.44446
> k2              0.333333333             0.000020000             9.44446
>
> =========================================================
>
> Output:
>
> ID              x1                      x2                      x3
> a1              0.01                    0.00                    12.33
> b3              0.48                    0.00                    9.44
> c1              0.48                    0.00                    9.44
> d5              0.48                    0.00                    9.44
> e1              0.48                    0.00                    9.44
> f2              0.48                    0.00                    9.44
> g6              0.33                    0.00                    9.44
> h8              0.33                    0.00                    9.44
> i2              0.33                    0.00                    9.44
> k2              0.33                    0.00                    9.44
> --
> View this message in context: http://www.nabble.com/Formatting-numeric-values-in-a-data-frame-tp22212031p22212031.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?




More information about the R-help mailing list