您的位置:首页 > 大数据

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

2015-12-08 20:49 162 查看
这个是一个复杂的问题。但是本文只是给出一点点小经验。

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

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

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


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

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


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

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

tab5rows <- read.table("datatable.txt", nrows = 5); tab5rows
classes <- 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: