我有一个大约有 200 万行的数据集,所以没有读取整个数据集,我想读取 dataset 的一个子集。我的数据集包含一个日期列,所以我只想读取一个日期范围之间的数据集而不读取整个数据集,因为它既耗时又浪费内存。那么如何完成它任何人都可以指导我吗?
最佳答案
使用 skip=
read.table
中的参数
read.table("file.txt",skip= ,nrows= )
两者
skip=
和 nrows=
接受行指示符编号,因此只需将它们添加到 = 之后即可。nrows=
定义导入文件时范围的深度。我建议阅读 https://stat.ethz.ch/R-manual/R-devel/library/utils/html/read.table.html如果你还没有这样做。
另外,请参阅我的问题之一:
R - Reading lines from a .txt-file after a specific line
它在某种程度上触及了同一主题。
另一种可能的方法是使用
grep()
在 skip=
read.table(...,skip=grep("2005-12-31", readLines("File.txt")),nrows=365)
该行的作用是跳过直到找到
grep()
中描述的行。并阅读之后的行。 nrow=
将在读取 365 行后停止读取(这样您就读取了一年的日期,前提是一行等于一个日期)。这看起来有点复杂,但这是我知道如何解决这个问题的唯一方法。
关于r - 如何在R中读取大型数据集的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932628/