我不确定read_csv
,但如果你使用read.csv
,为你不想要的列指定colClasses
为“NULL”,你会得到你想要的(rep
根据需要调整调用中的整数:
read.csv( file = [yourfile],
colClasses = c( rep("character",3), rep("NULL",5) )
)
以上将仅返回前 3 列,而忽略以下 5 列。
替代答案:
你试过fread
吗?它有一个select
参数,可能对您有用,例如:
fread( [filename], select = c(1:3) )
它还具有比 read.csv 和 read_csv 快很多的好处。这是我拥有的特定文件的速度测试:
microbenchmark::microbenchmark(
fread = {rangerdata2 <- data.table::fread( filename, select = c(1:3) )},
read.csv = {rangerdata2 <- utils::read.csv( file = filename )[,1:3]},
read_csv = {rangerdata2 <- readr::read_csv( file = filename )[,1:3]},
times = 1000)
Unit: milliseconds
expr min lq mean median uq max neval cld
fread 1.22161 1.32841 1.464724 1.377178 1.442089 14.57102 1000 a
read.csv 18.25402 18.55992 19.664278 18.772855 19.565684 34.87589 1000 c
read_csv 13.43166 13.76704 14.615746 13.975987 14.608822 33.36244 1000 b