Tbl <- Tbl %>%
mutate(
year = actyr + 1900,
Date = as.Date(paste0(year, "-", actmo, "-30")),
Months = round((as.integer(difftime(ymd(20171230),ymd (Date),units="weeks"))/4),0))
上面的代码使用了lubridate和dplyr。这适用于较小的数据集,并将在几秒钟内运行。结果是距离指定日期的月数。但是,当使用更大的数据集时,在数百万行中,R崩溃。是否有更有效的方法可以在指定日期的几个月内找到差异?
答案 0 :(得分:0)
你有没有检查过你的内存限制。
memory.limit()
告诉您R可以使用多少。您可以使用memory.size(55000)
我用一个有74密尔行和9列的tibble做到了这一点。使用dplyr是最好的选择和mutate。