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