[Rd] read.csv

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Tue Apr 16 14:37:01 CEST 2024


   Tangentially, your code will be more efficient if you add the data 
files to a *list* one by one and then apply bind_rows or 
do.call(rbind,...) after you have accumulated all of the information 
(see chapter 2 of the _R Inferno_). This may or may not be practically 
important in your particular case.

Burns, Patrick. 2012. The R Inferno. Lulu.com. 
http://www.burns-stat.com/pages/Tutor/R_inferno.pdf.


On 2024-04-16 6:46 a.m., jing hua zhao wrote:
> Dear R-developers,
> 
> I came to a somewhat unexpected behaviour of read.csv() which is trivial but worthwhile to note -- my data involves a protein named "1433E" but to save space I drop the quote so it becomes,
> 
> Gene,SNP,prot,log10p
> YWHAE,13:62129097_C_T,1433E,7.35
> YWHAE,4:72617557_T_TA,1433E,7.73
> 
> Both read.cv() and readr::read_csv() consider prot(ein) name as (possibly confused by scientific notation) numeric 1433 which only alerts me when I tried to combine data,
> 
> all_data <- data.frame()
> for (protein in proteins[1:7])
> {
>     cat(protein,":\n")
>     f <- paste0(protein,".csv")
>     if(file.exists(f))
>     {
>       p <- read.csv(f)
>       print(p)
>       if(nrow(p)>0) all_data  <- bind_rows(all_data,p)
>     }
> }
> 
> proteins[1:7]
> [1] "1433B" "1433E" "1433F" "1433G" "1433S" "1433T" "1433Z"
> 
> dplyr::bind_rows() failed to work due to incompatible types nevertheless rbind() went ahead without warnings.
> 
> Best wishes,
> 
> 
> Jing Hua
> 
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list