如何解决执行函数调用时遇到限制? - 错误:尝试在 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 中有很多缺失值,这个数据集中有很多接受性观察。
(函数(...,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 举报,一经查实,本站将立刻删除。