Override column types when importing data using readr::read_csv() when there are many columns

后端 未结 2 578
生来不讨喜
生来不讨喜 2021-01-30 11:04

I am trying to read a csv file using readr::read_csv in R. The csv file that I am importing has about 150 columns, I am just including the first few columns for the example. I a

2条回答
  •  时光取名叫无心
    2021-01-30 11:13

    Here follows a more generic answer to this question if someone happens to stumble upon this in the future. It is less advisable to use "skip" to jump columns as this will fail to work if the imported data source structure is changed.

    It could be easier in your example to simply set a default column type, and then define any columns that differ from the default.

    E.g., if all columns typically are "d", but the date column should be "D", load the data as follows:

      read_csv(df, col_types = cols(.default = "d", date = "D"))
    

    or if, e.g., column date should be "D" and column "xxx" be "i", do so as follows:

      read_csv(df, col_types = cols(.default = "d", date = "D", xxx = "i"))
    

    The use of "default" above is powerful if you have multiple columns and only specific exceptions (such as "date" and "xxx").

提交回复
热议问题