大数据的读取

作者: NoviceWitch | 来源:发表于2019-12-03 21:49 被阅读0次

    大数据的读取

    因为从Xena上下载的甲基化数据太大,在读取时遇到点麻烦,特定查了下有没有什么方法可以只读取一部分,整理如下

    大家有什么好的方法,敬请告知~

    • SCAN

      scan读取.txt文件

      比如读取下面文件的数据,每个数据以空格分隔

      image

    (1)scan("student.txt", what="c") #以字符串的格式读取数据

    (2)scan("student.txt", what="c", nlines=3) #读取3行

    (3)scan("student.txt", what="c", skip=1) #忽略第1行

    (4)lst <- scan("student.txt", what = list(xh="", xm="", xb="", nl=0), skip=1) #读取数据并保存到变量中

    读取结果如下

    image image

    scan读取.csv文件

    .csv的文件默认是逗号分隔,所以在读取时要指定逗号为分隔符。

    (1)scan("student.csv") #scan()函数默认以double格式存储数据,而该文件中包含不能转换的数据而报错

    (2)scan("student.csv", what="c") #由于未指定分隔符,scan()函数将每一行作为一个数据域

    (3)scan("student.csv", what="c", sep=",") #指定逗号作为分隔符后,可以正确读取数据了

    (4)scan("student.csv", what="c", sep=",", skip = 1) #忽略第一行的标题行

    (5)scan("student.csv", what = list(xh="", xm="", xb="", nl=0), sep=",", skip=1) #以列表的形式读取数据

    (6)m <- matrix(scan("student.csv", what="c", sep=",", skip=1), ncol=4, byrow=TRUE) #读取数据并创建矩阵

    image
    • fread

    相比dplyr包,data.table包能够更大程度地提高数据的处理速度。data.table,用于快速处理大数据集

    fread读取.tsv文件

    1. library(data.table)
    1. fread("example_data.txt",select=c("x1","x2"),data.table=F)
    1. data1<-fread("XXXXs.csv",header = T,stringsAsFactors = F)

    readLines()

    readLines()统计文件的行数

    R语言逐行读取文件:

    con <- file(inFile, "r")
    lineCnt = 0
    while(1){
    oneline = readLines(con, n = 1)
    if(length(oneline) == 0){
    break
    }
    lineCnt = lineCnt+1 ### 统计的文件行数
    }
    close(con)

    REF:

    scan:https://baijiahao.baidu.com/s?id=1609781727359063276

    data.table包中的fread:https://www.cnblogs.com/nxld/p/6066797.html

    相关文章

      网友评论

        本文标题:大数据的读取

        本文链接:https://www.haomeiwen.com/subject/trbhgctx.html