加载一些数据列而不先加载整个数据

时间:2015-09-08 14:41:33

标签: r

我有高维数据,我不想一次加载所有列,因为它会阻止R和我计算机上所有正在进行的进程。

为了探索数据,我想首先知道行数和列数,列的名称以及可能的变量类型(即字符,因子,整数,数字)。最后我想加载这个.csv文件的几列。我看过一些例子,但在我看来,仍然首先加载了整个数据,然后选择了所需的列。

所以我的问题基本上是:在没有首先加载整个数据的情况下,R中的这些探索和选择步骤是否可行?

1 个答案:

答案 0 :(得分:2)

我建议使用{data.table}的fread()来完成这类任务,因为它是处理R中文件的最快包。 您可以指定“nrows”来读取所需的行数,或者指定nrows = 0来读取标题,例如

UserControl

您还可以使用“select”参数指定所需的列(通过名称或索引),但这不会真正加快进程,因为通常会逐行读取文件,和阅读让我们说第1,第3和第5列将与所有这些一样快。