R 阅读器单 col_types
R readr single col_types
是否可以在 readr
包中读取数据并在所有列中指定单一数据类型?类似于 base::read.table
与 colClasses = "character"
或使用 as.is
参数。
除非在分析之前明确定义任务、数据头、文件编码等,否则我更喜欢在不更改数据类型的情况下编写加载程序,然后在下游处理模式。总是对其他人如何看待事物的建议持开放态度。
正在将我的评论转换为答案。不,这不是内置的(此时),col_types
的文档对其功能非常清楚,这不是其中之一。考虑到 col_types
的工作方式,实现它可能需要一个全新的参数,因为一个特性是 "short" col_types
将用于限制读取的列数。
但是,您可以编写一个包装器:
read_table_asis = function(...) {
n_cols = ncol(read_table(..., n_max = 1))
read_table(..., col_types = paste(rep("c", n_cols), collapse = ""))
}
从 readr 0.2.2 开始,我们可以做这样的事情来读取所有列作为字符的 csv:
read_csv("path/to/file",col_types = cols(.default = col_character()))
是否可以在 readr
包中读取数据并在所有列中指定单一数据类型?类似于 base::read.table
与 colClasses = "character"
或使用 as.is
参数。
除非在分析之前明确定义任务、数据头、文件编码等,否则我更喜欢在不更改数据类型的情况下编写加载程序,然后在下游处理模式。总是对其他人如何看待事物的建议持开放态度。
正在将我的评论转换为答案。不,这不是内置的(此时),col_types
的文档对其功能非常清楚,这不是其中之一。考虑到 col_types
的工作方式,实现它可能需要一个全新的参数,因为一个特性是 "short" col_types
将用于限制读取的列数。
但是,您可以编写一个包装器:
read_table_asis = function(...) {
n_cols = ncol(read_table(..., n_max = 1))
read_table(..., col_types = paste(rep("c", n_cols), collapse = ""))
}
从 readr 0.2.2 开始,我们可以做这样的事情来读取所有列作为字符的 csv:
read_csv("path/to/file",col_types = cols(.default = col_character()))