R读取大数据--仅读取指定列
2015-12-08 20:49
162 查看
这个是一个复杂的问题。但是本文只是给出一点点小经验。
假设我们有一个大文件需要读入R,但是我们不太确定文件是什么样子的,或者说,我们很确定文件是什么样子的,但是我们只想读入其中某些列,应该怎么办呢?
如果你的足够的内存和耐心,你可以按常规:
如果你在列表表头时发现数据并不是你想象的格式,这无疑是让人很难受的一件事情。那如何避免错误地读入数据呢?
上面的代码让我们可以在很少的时间内对读入的数据进行一个检查,如果认为没有问题,就可以读入整个数据了。
如果我们看了文件头之后,决定只读入其中的几列,应该怎么办呢?
参考http://blog.qiubio.com:8080/archives/3161
假设我们有一个大文件需要读入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
相关文章推荐
- 【转】MegaSAS RAID卡 BBU Learn Cycle周期的影响
- Daily Scrum 12.8
- nltk modules main
- lightoj1086 Jogging Trails
- HDFS(2)
- 物理学家:用数学理论证明人工智能无法超越人类智慧
- 大数据实力解读:热门网文改编是国产剧成功捷径吗?
- Apktool 打包签名后安装出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES错误
- discuz云平台报调用远程接口失败的问题分析和解决
- Failover失效转移详解
- LeetCodeOJ_11_m_Container With Most Water
- c# 模拟表单提交,post form 上传文件、大数据内容
- LeetCode 219 Contains Duplicate II
- svn无法提交问题,The working copy failed to commit files
- LeetCode 217 Contains Duplicate
- 浅谈RAID写惩罚与IOPS计算[转载]
- UVA 11029 Leading and Trailing
- 从HDFS读入图片并处理
- 事件传递之响应链(Event Delivery: The Responder Chain)【转】
- 物联网随想二三事