[R] Request for some help: Error when joining multiple csv files together

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Jun 2 09:30:01 CEST 2022


Hello,

I'm seeing two obvious errors, those are not csv files and the columns 
spec is wrong, you have a spec of 6 columns but the posted data only has 
4 and of different classes.

If the data is in comma separated values (CSV) files the following 
worked without errors.


library(readr)

col_spec <- cols(
   d1 = col_double(),
   d2 = col_double(),
   d3 = col_double(),
   d4 = col_double()
)

list.files(pattern = "*\\.csv$") |>
   lapply(read_csv, col_types = col_spec) |>
   dplyr::bind_rows()


If the data is like in the question, try instead


list.files(pattern = "*\\.csv$") |>
   lapply(read_delim, delim = " ", col_types = col_spec) |>
   dplyr::bind_rows()


Hope this helps,

Rui Barradas

Às 00:17 de 02/06/2022, Bhaskar Mitra escreveu:
> Hello Everyone,
> 
> I have a bunch of csv files, all with common headers (d1, d2, d3, d4).
> When I am trying to join the csv files together, with the following code
> (shown below),
> I am getting a warning  when the files are joined. The values under columns
> d3 and d4 are not joined properly.
> 
> The code and the error are given below. I would really appreciate some help
> in this regard.
> 
> regards,
> bhaskar
> 
> 
> #---code--------------------------------
> 
> df <- list.files(pattern = "*.csv") %>%
>    lapply(read_csv) %>%
>    bind_rows
> 
> #---code--------------------------------
> 
> Header of each file:
> 
> d1  d2  d3  d4
> 3   4    NA   NA
> 4   5   NA   7
> 5   6   8   8
> 6   7   8   NA
> 
> #--------------------------------------------------------
> 
> #Warning when the codes run --------------------------------------
> 
> Column specification
> ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> cols(
>    .default = col_double(),
>    name = col_character(),
>    d1 = col_datetime(format = ""),
>    d2 = col_character(),
>    d3 = col_logical(),
>    d4 = col_logical()
> )
> 
> Warning: 48766 parsing failures.
> * row*    *col*          * expected  *                         *actual*
>       *file*
> 3529   d3           1/0/T/F/TRUE/FALSE       100             'file1.csv'
> 3529   d4            1/0/T/F/TRUE/FALSE      100             'file1.csv'
> 
> .... ..... .................. ...... ................................
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



More information about the R-help mailing list