在R中处理大数据的有效方法

在R中处理大数据的有效方法,r,bigdata,R,Bigdata,我有一个巨大的csv文件,1.37GB,在R中运行glm时,它崩溃了,因为我没有分配足够的内存。你知道,经常发生的错误 除了ff和bigmemory包,没有其他选择,因为它们对我来说似乎不太合适,因为我的列是整数和字符的混合体,而且在这两个包中,我必须指定我的列的类型,char或integer 我们很快就要在2018年把人送上火星了;我们是否没有简单的“read.csv.xxl”函数可以使用?我首先要回答您的问题,因为我认识到,仅仅因为您的样本数据需要1.37 GB,并不意味着使用glm软件包进

我有一个巨大的csv文件,1.37GB,在R中运行glm时,它崩溃了,因为我没有分配足够的内存。你知道,经常发生的错误

除了ff和bigmemory包,没有其他选择,因为它们对我来说似乎不太合适,因为我的列是整数和字符的混合体,而且在这两个包中,我必须指定我的列的类型,char或integer


我们很快就要在2018年把人送上火星了;我们是否没有简单的“read.csv.xxl”函数可以使用?

我首先要回答您的问题,因为我认识到,仅仅因为您的样本数据需要1.37 GB,并不意味着使用
glm
软件包进行所有计算就需要1.37 GB。最有可能的是,您的一个计算可能会达到至少1.37 GB的倍数

对于第二部分,这里的一个实际解决方法是只对1.37GB数据集进行一个合理的子样本。您真的需要使用原始数据集中的所有数据点构建模型吗?或者,假设一个10%的子样本也能给出一个具有统计意义的模型?如果降低数据集的大小,那么就可以用R解决内存问题


请记住,R完全在内存中运行,这意味着一旦超出可用内存,您可能会倒霉。

您的计算机上没有2GB内存?也许是时候升级了。我有8GB,但是glm计算崩溃了。有指针工作吗?我不知道,所以我没有尝试过。谢谢你的提示!第一部分:没错。第二部分:我想使用我所有的数据,因为我想建立一个复杂的模型。我需要知道我对自己的估计有多自信,所以我需要使用我所有的数据。因此我的问题。@HeyJane我不确定你是否需要使用所有数据。为了测试这一点,你可以从你的数据中抽取10%的子样本,并将该子样本的描述性统计数据与原始数据集进行比较。是的,我需要使用我所有的数据来评估我对我的估计有多确定。而且,我想要一个非常复杂的模型。恕我直言,你没有解决我的问题。您只是说“减少数据”,考虑到内存限制,您可能无法在此大小的数据集上运行
glm
in R。不,根据我的经验,你并不总是需要使用这么大的数据集。模型的复杂性与这一论点几乎没有关系。