【问题标题】:Maximum columns for cast functions in RR中强制转换函数的最大列数
【发布时间】:2016-12-21 18:39:43
【问题描述】:

我正在尝试将数据表转换为矩阵。

长格式数据表有数十万行,我想将它们格式化为宽格式矩阵

我创建了以下示例:

library(stringi)
library(data.table)
library(reshape2)

x <- 500
test <- data.table(first=stri_rand_strings(x,5),
                   second=stri_rand_strings(x,5),
                   third=runif(x),
                   fourth= runif(x))
testMatrix <- acast(test,first~second,
                    value.var = "third",
                    fun.aggregate = mean,
                    fill=0)

当你增加 x 时,sn-p 会在某些时候产生以下错误:

eval(substitute(expr), envir, enclos) 中的错误: n 必须是正整数
另外:警告信息: 在 split_indices(.group, .n) 中:通过强制引入整数范围的 NAs

它没有给我内存限制警告。这里发生了什么?为什么会这样?除了 RAM 之外,矩阵或强制转换函数还有其他限制吗?

提前谢谢你
罗尔

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    即使不是显示的错误,您也可能内存不足。设置 x &lt;- 5e3 会创建一个包含 2500 万个元素的 matrix,即 191 MB。更改 x &lt;- 5e4 会创建一个包含 25 亿个元素的矩阵,使用粗略的外推会使矩阵大约 19 GB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 2018-01-12
      • 1970-01-01
      相关资源
      最近更新 更多