R 应用和 as.POSIXct 运行 内存不足

R sapply and as.POSIXct running out of memory

我有一个名为 t 的数据框,包含 57247 行 27 个变量。数据框是从一个 16 MB 的 .tsv 文件导入的,所以它不是那么大。其中一列是 approved_date,它包含 MySQL 时间戳字符串的因子。一个例子是 "2007-10-08 06:38:18"

我有一个函数可以将这个字符串转换成 POSIXct,一个整数。我想为整个专栏执行此操作。

convert_datetime <- function(dt) as.POSIXct(dt, tz="Asia/Hong_Kong")

当我尝试前 10 行时,一切正常:时间戳被转换为整数。

x <- head(t, 10)
x$approved_date <- sapply(x$approved_date, convert_datetime)

但是,当我尝试使用整个 table、

t$approved_date <- sapply(t$approved_date, convert_datetime)

RStudio 使用多达 6 GB 的 RAM 并且内存不足。很明显我在这里做错了什么。我怎样才能获得我想要的功能?使用 R v3.0.2。

首先,R 3.0 太老了。如果可能的话,你真的应该升级。

其次,as.POSIXct被矢量化。

x$approved_date <- as.POSIXct(x$approved_date, tz=*)