R中的arules包使用类'transactions'。所以为了使用功能apriori()
我需要转换我现有的数据。我有一个矩阵2列大致1.6毫米行,并试图将数据转换是这样的:大数据从arules包转换为“transactions”
transaction_data <- as(split(original_data[,"id"], original_data[,"type"]), "transactions")
其中original_data是我的数据矩阵。由于我使用的是具有64GB RAM的最大AWS亚马逊机器的数据量。过了一会儿,我得到
所得向量超过矢量长度限制在“AnswerType”
机器的内存使用情况仍是“唯一的”在60%以上。这是基于R的限制吗?有没有什么办法可以解决这个问题,而不是使用抽样?当仅使用1/4的数据时,转换工作正常。
编辑:正如所指出的,其中一个变量是一个因素而不是字符。更改转换后,处理得很快且正确。
我玩过它多一点,当我减少了一点数据量,我得到错误 '错误unique.default(...)长度547601298是太大了哈希' 在文件unique.c中的系统代码R中显然有一些函数'MKsetup()'防止向量超过一定的长度。 – Marco
你可以发布'str(original_data)'的结果吗?很高兴知道数据中是否存在某些问题。 – Iterator
你可以生成一个假的,但代表性的例子? –