R - read.table(),在导入过程中对数据进行子集化和转换



我一直在尝试使用 read.table 读取包含数据的文本文件,但我必须同时解决 3 个问题。

  1. 我正在读取的数据混合了不同的列类。

日期;时间;数字1 ;数字2;数字3等

当我导入时,日期和时间将作为因素导入。我试过了

    x <- read.table("file.txt", header = TRUE, sep = ";", nrows = 10, colClasses = c("Date", "Time", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric", "numeric"))

但我收到此错误

    Error in methods::as(data[[i]], colClasses[i]) : no method or default for coercing “character” to “Time”

我不想读取整个文件和子集并更改类。

  1. 这个文本文件大约有 200 万条记录,但我只想读取 2016 年和 2017 年的数据,再次不想子集。

  2. 我想将时间列转换为时间类

有没有办法在导入过程中一次完成所有这些工作.. ?

我使用fread从data.table中读取,但跳过几行只得到2017年和2016年的数据。不幸的是,您将需要以交互方式找到它,尤其是在数据未排序的情况下。

从 https://www.rdocumentation.org/packages/data.table/versions/1.10.4/topics/fread

dt=fread(input, skip="string">,stringsAsFactors=FALSE(

DT

参考日期的快速时间包

dt[,Datevar := as.POSIXct(Datevar(]

https://cran.r-project.org/web/packages/fasttime/fasttime.pdf

最新更新