【问题标题】:Limited number of rows loaded from csv in R Studio在 R Studio 中从 csv 加载的行数有限
【发布时间】:2015-09-17 22:29:03
【问题描述】:

当我将 csv 文件加载到 R Studio 时,我遇到了一个非常奇怪的情况。当我尝试加载包含 ~190k 记录的文件时,我的数据框中只显示 ~8k 记录。

我尝试将数据加载到 Mac 上的 R Studio 中,一切正常。我用谷歌搜索了这个问题,但找不到解决方案。

以下是两台机器的规格:

PC - R + R Studio:最新版本 -

内存:8GB

MAC - R + R Studio:最新版本 -

内存:16GB

我也尝试了各种解决方案,例如 (quote = "") 但这并没有解决截断问题。也许我错过了一些非常简单的东西。有任何想法吗?

【问题讨论】:

  • 你能否提供一些代码来显示这个问题,你是如何加载数据的,你是如何检查大小的。也许是nrow(),这样我们就可以看到正在发生的事情或屏幕截图。不过看起来很奇怪。
  • 你的加载语句是什么样的?也许从您的数据集中给我们一个示例行?也许在加载的数据帧上做str 并粘贴输出?如果加载后有错误信息,能否提供一下?
  • 感谢大家的回复。我尝试手动加载数据,并通过两台机器上的标准“read.csv”语句加载数据,而我的 PC 未能加载完整的数据集。我想如果这两种方法(手动 + 代码)产生相同的结果,问题可能是更多的 R Studio 配置或我的硬件配置。我将尝试复制该问题并提供更多上下文。再次感谢!

标签: r import read.csv


【解决方案1】:

尝试使用fread函数,它可以比read.csv更快地读取大数据。 在我的带有 R + Rstudio 的机器上,我可以在 4G RAM 下读取大约 3G 的 csv 数据。 例如:

library("data.table")
data <- fread("ab.csv", header=TRUE, sep=",", colClasses = "numeric")

顺便说一句,通过以下命令计算内存限制并扩展 R 的最大数量:

memory.limit()
# set max memory usage is 2G
memory.size(max=2000)

【讨论】:

  • 尝试此解决方案后,我的机器能够正确读取所有内容。再次感谢!
  • 补充一点,我仍然不知道为什么 read.csv 命令会截断加载到我的 Windows 机器而不是我的 Mac 上的全局环境中的行数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多