R语言学习笔记:读取前n行数据

常规读取

一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的。

data <- read.table("C:\\Users\\Hider\\Desktop\\test.txt",
                   header = TRUE,
                   encoding = "gbk")

但是当读取的数据量很大的时候,读取的时间会让人捉急,而且会把内存给占满,读完数据之后就不用进行下一步操作了,因为电脑都卡死了。

所以只读取数据的前n行是一个不错的选择,边读取边进行处理。

读取前n行数据

根据数据的分隔符不同,修改函数的sep=''分隔符进行适应。

readfile <- function(file, n= 100, header = T){
  pt <- file(file, "r")
  name <- NULL
  if(header){
    name <- strsplit(readLines(pt, 1), split = ' ')[[1]] # 读取标题
    f1 <- readLines(pt, n)
    data <- read.table(text = f1, sep = ' ', col.names = name)
  }else{
    data <- read.table(text = f1, sep = ' ')
  }
  close(pt)
  data
}

读取测试数据:

data <- readfile(file = "C:\\Users\\Hider\\Desktop\\test.txt",
                 n = 2,
                 header = TRUE)
#    序号 数学 语文
# 1    A  100  200
# 2    B   25   26

参考链接:R语言-读取前n行数据

posted @   Hider1214  阅读(7818)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示