R:仅导入和合并特定列

问题描述

我有一个来自网络的CSV URL列表,并将它们合并到一个向量中。 现在,我想用read_csv阅读此列表。

示例:

files <- c("csv_link1.csv","csv_link2.csv","csv_link3.csv",and so on....) 
data <- map_dfr(files,read_csv)

这没问题。问题是在CSV文件中,有一些列用不同的值填充。因此,例如,在CSV1中有“ V1”列,该列中填充有双精度字;在CSV中,同一列是“ V1”列,其中填充了字符。合并CSV无效,因为它们是不同的数据类型。

就我而言,我认为有两种解决方案。

  1. 我只导入某些列,所以我说read_csv仅读取列(V2和V3),而不读取V1

  1. 我使用col_types将列合并为相同的数据类型

我都尝试过,但是由于语法正确而失败。

我尝试过类似的事情

data <- map_dfr(files,read_csv(cols_only(the col names)))

但是,这不起作用。

如何仅导入和合并特定列?

在我的情况下为具体示例:

library(data.table)
library(readr)
library(purrr)


files <- c("https://www.football-data.co.uk/mmz4281/1920/EC.csv","https://www.football-data.co.uk/mmz4281/1819/EC.csv","https://www.football-data.co.uk/mmz4281/1718/EC.csv","https://www.football-data.co.uk/mmz4281/1617/EC.csv","https://www.football-data.co.uk/mmz4281/1516/EC.csv","https://www.football-data.co.uk/mmz4281/1415/EC.csv","https://www.football-data.co.uk/mmz4281/1314/EC.csv","https://www.football-data.co.uk/mmz4281/1213/EC.csv","https://www.football-data.co.uk/mmz4281/1112/EC.csv","https://www.football-data.co.uk/mmz4281/1011/EC.csv")


data <- map_dfr(files,read_csv)

Error: Can't combine `BbAH` <character> and `BbAH` <double>.

因此,列BbAH具有不同的数据类型。但我不需要此专栏。 如果由于这种不同的数据类型问题,我可以选择合并之前合并的列,那将很酷。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)