R 的 read.csv() 省略行

2024-03-31

在 R 中,我尝试读取大约 42,900 行的基本 CSV 文件(由 Unix 的 wc -l 确认)。相关代码是

vecs <- read.csv("feature_vectors.txt", header=FALSE, nrows=50000)

其中 nrows 稍微高估了,因为为什么不呢?然而,

>> dim(vecs)
[1] 16853     5

表明生成的数据帧大约有 17,000 行。这是内存问题吗?每行由约 30 个字符的哈希码、约 30 个字符串和 3 个整数组成,因此文件的总大小仅约 4MB。

如果相关的话,我还应该注意到很多行都缺少字段。

感谢您的帮助!


此类问题通常很容易解决,使用count.fields,它告诉您如果调用,结果数据框将有多少列read.csv.

(n_fields <- count.fields("feature_vectors.txt"))

如果 n_fields 的所有值并非都相同,则会出现问题。

if(any(diff(n_fields)))
{
  warning("There's a problem with the file")
}

在这种情况下,查看以下值n_fields与您的预期不同:问题出现在这些行中。

正如贾斯汀提到的,一个常见的问题是引号不匹配。打开 CSV 文件并了解其中如何引用字符串。然后打电话read.csv,指定quote争论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 的 read.csv() 省略行 的相关文章

随机推荐