How to read very small scientific number with readr

Viewed 37

I have the following file with tab separator:

Motif Name  P-value
Fra1    1e-613
Atf3    1e-585
Fra2    1e-576
JunB    1e-559
BATF    1e-550
AP-1    1e-537
Fosl2   1e-513
Jun-AP1 1e-473
Bach2   1e-193

When I try to read it with this code:

infile <- "~/Desktop/test.csv"
dat    <- readr::read_delim(infile, delim = "\t", col_types = "cd")  
dat 

I get this value:

 `Motif Name` `P-value`
  <chr>            <dbl>
1 Fra1            1e-307
2 Atf3            1e-307
3 Fra2            1e-307
4 JunB            1e-307
5 BATF            1e-307
6 AP-1            1e-307
7 Fosl2           1e-307
8 Jun-AP1         1e-307
9 Bach2           1e-193

Note that readr round up the number from 1e-613 to 1e-307, etc. How can I make it to preserve the initial value?

0 Answers
Related