执行函数调用时遇到限制? - 错误:尝试在 SET_STRING_ELT 中设置索引 2311944126/2311944126

问题描述

我正在尝试为相当大的数据集(~1400000 个观察)执行函数调用

lychee.reduced 数据框看起来像这样

姓名 id_code 葡萄 葡萄
ACESÓRIOS 不适用 1 185
分析实验室 不适用 10 185
分析实验室 不适用 10 185
分析实验室 不适用 10 185
LIVROS DIDÁTICOS 10476 206 3
LIVROS DIDÁTICOS 10476 206 3

id_code 中有很多缺失值,这个数据集中有很多接受性观察。

Ngrapes 是频率,而葡萄是分配给名称的数字代码

当我尝试运行下面的代码时,我遇到了这个错误

函数(...,deparse.level = 1)中的错误 尝试在 SET_STRING_ELT 中设置索引 2311944126/2311944126

##按 Ngrapes 对数据进行排序,以便每一对总是以相同的顺序出现

id_code <- c(lychee.reduced$id_code)
grapes <- c(lychee.reduced$grapes)
pairs <- do.call(rbind,mclapply(split(grapes,id_code),function(x) t(combn(x,2)),mc.cores = 56))

我已尝试消除缺少 id_code 的观察结果,但出现相同的错误

我还尝试使用 sample() 减少数据框。当 lychee.reduced 包含 120000 个观察值时,我不再收到此错误

当正确执行并使用较小的数据集时,输出看起来有点像这样,“pair”作为一个大矩阵

--- V1 V2
1 100 101
2 100 101
3 100 101
4 100 102
5 100 102
6 100 34
20344997 44 86
20344998 44 86
20344999 44 86

这里是我用过的所有包

#Necessary Packages
library(data.table)
library(igraph)
library(plyr)

#Parallelisling Packages
library(parallel)
library(MASS)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...