【发布时间】:2017-02-21 22:13:49
【问题描述】:
这是我之前帖子here的扩展。
我在 R 工作。
总之,我的向量是巨大的(13gb),但它们不应该如此。原始 csv 文件是该大小的一小部分。可以想象,13gb 的内存比我的机器多一点,更不用说分配给 R 的内存了。
我目前正在处理的代码是:
data1<-read.csv("stackexample.csv") ##read in dummy data
data1C<- data1[,3:13] #cut off the ends
SvDvDis<-data1C[c(-3,-4,-6,-7,-9,-10,-11)] #drop individual columns
attach(ScDcDis) #attach for simplicity sake
sm.ancova(s,dt,dip,model="none") #non-parametric ANCOVA
可以在my dropbox 上找到一个虚拟数据文件。
有没有办法减少这个函数正在使用的内存,或者是否有替代编码/函数以较少的内存密集方式执行相同的分析(非参数 ANCOVA)?需要明确的是,不要询问统计数据。我在问如何以更节省内存的方式做到这一点。
【问题讨论】:
-
感谢您提供数据。话虽如此,Dropbox 和 Google Drive(等)链接不允许用于共享数据,因为它们存在安全风险,并且随着时间的推移它们往往会中断。
-
fANCOVA via - cran.r-project.org/web/packages/fANCOVA - 也许吧?
-
@Hack-R 感谢您的提醒。是否有更好/首选的方法来共享虚拟数据以提供可重复的示例? @thelatemail 我会试一试并报告,谢谢
-
@Jesse001 是的,如果它很大,您可以在代码中模拟/创建它。小的时候使用
dput()。我下载了你的文件,这个文件很容易在代码中创建。仅供参考attach()是一个非常糟糕的命令,因为它会导致各种问题(不是在这种情况下,而是在一般情况下)。有一个重要的派系希望将其从语言中全部删除。 -
您的数据没有问题。 sm.ancova 函数可能存在问题。我不知道那是做什么的。尝试联系包的作者。
标签: r memory out-of-memory