我正在编写一个函数,该函数接受从 CSV 文件中读取的列名向量,使用readr::read_csv()
.
我想从文件中只读取向量中的列名,并且我想使用readr
的默认列类型猜测算法。
有没有比创建col_guess()
如下命名规范列表更直接的方法来实现这一点?
# test csv data
test_csv <- "x,y,z\n1,2,3\n3,4,4\n5,6,7"
# vector of column names to import
col_names <- c("x", "y")
# create named list of column type specifications ("collectors" in readr-speak)
cols_to_get <- rep(list(col_guess()), 2)
names(cols_to_get) <- col_names
# use do.call() to provide my named list to readr's cols_only() function
readr::read_csv(test_csv, col_types = do.call(cols_only, cols_to_get))