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行数据

原文地址:https://www.cnblogs.com/hider/p/11670072.html