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

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

假设我们有一个大文件需要读入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

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值