R读取大数据--仅读取指定列

来源:互联网 发布:roseonly野兽派知乎 编辑:程序博客网 时间:2024/05/16 07:56

这个是一个复杂的问题。但是本文只是给出一点点小经验。

假设我们有一个大文件需要读入R,但是我们不太确定文件是什么样子的,或者说,我们很确定文件是什么样子的,但是我们只想读入其中某些列,应该怎么办呢?

如果你的足够的内存和耐心,你可以按常规:

data <- read.table("datatable.txt")head(data)

如果你在列表表头时发现数据并不是你想象的格式,这无疑是让人很难受的一件事情。那如何避免错误地读入数据呢?

tab5rows <- read.table("datatable.txt", nrows = 5); tab5rowsclasses <- sapply(tab5rows, class) #在查看文件头几行读入正确后再整体读入所有数据data <- read.table("datatable.txt", colClasses = classes)

上面的代码让我们可以在很少的时间内对读入的数据进行一个检查,如果认为没有问题,就可以读入整个数据了。

如果我们看了文件头之后,决定只读入其中的几列,应该怎么办呢?

tab5rows <- read.table("datatable.txt", nrows = 5); tab5rowsclasses <- sapply(tab5rows, class) #假设我们只想读入第一和第三列classes[c(-1,-3)] <- rep("NULL", length(classes)-2)data <- read.table("datatable.txt", colClasses = classes)

参考http://blog.qiubio.com:8080/archives/3161

0 0
原创粉丝点击