1

データ自体をインポートしながら、文字としてフォーマットされた日付フィールドをPOSIXltクラスにインポートしようとしています。日付を文字としてインポートしてPOSIXlt後で変換する代わりに、データが非常に大きい (4 GB 以上) ため、これを 1 つのステップで実行したいと考えています。以下は同じコードです。

このコードでは、新しい「myDate」クラスを定義し、それを使用してcolClasses引数に渡します。この方法は で機能しますが、 pkgからでは機能しread.delimません。freaddata.table

これが機能するようになれば素晴らしいと思います。なぜなら、これが機能する場合、この方法freadで少なくとも 20 分の時間を節約できるからです。より良い代替案を使用したり、提案freadしたりできますか?fread

library (data.table)
library (lubridate)
setClass ('myDate')

# create custom 'myDate' class. Having "Date" or "POSIXlt" in colClasses argument of read.table does not work
setAs ("character","myDate", function(from) as.POSIXlt(fast_strptime(from, "%Y-%m-%d")) )   

ccs <- c ("logical", "myDate", "myDate", "character") 

# fread() Does NOT Work 
rawdata <- fread ("filepath/filename.txt", colClasses=css, sep='|', header=FALSE,)) 

# WORKS!
rawdata <- read.delim ("filepath/filename.txt", colClasses=ccs, sep='|', header=FALSE) 
4

0 に答える 0