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行數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM