zoukankan      html  css  js  c++  java
  • 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行数据

  • 相关阅读:
    spring 实现测试解耦
    Java 反射实例 (二)
    Java 反射实例
    Thread.join()
    缓存输入/输出流
    文件的拷贝
    将键盘输入的数据保存到文件中:OutputStream
    InputStream中read方法各个参数的意义
    OutputStream
    InputStream中的主要的子类
  • 原文地址:https://www.cnblogs.com/hider/p/11670072.html
Copyright © 2011-2022 走看看