美文网首页R语言的学习
在R语言里读入read.table及参数理解与整理

在R语言里读入read.table及参数理解与整理

作者: Ashu | 来源:发表于2019-04-27 16:50 被阅读0次

    笔记整理

    https://www.jianshu.com/p/aeb2f74b4080

    R包安装 http://www.bio-info-trainee.com/3727.html

    看了生信技能树曾老师的R包安装视频教程,可到官网或者通过微云传输下载R包,根据电脑配置(有Window系统和Mac系统)选择匹配的R包,在安装过程中,选默认安装途径就可以。

    R包安装指导https://www.jianshu.com/p/f3ac3ec511da

    已看过生信技能树团队出品的R包安装指导视频教程。

    简单了解二代测序https://share.weiyun.com/5dLV9A7 密码:wsstn9

    已看过链接中的视频,了解二代测序的原理和方法。

    R markdown使用

    在作业中有

    数据存读:https://www.jianshu.com/p/6ba9da4e2f5b
    https://www.jianshu.com/p/6ba9da4e2f5b

    下载的txt文件.png
    a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
    b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
    d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
    f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',)
    ####dim(询问数据类型的维度)
    dim(d)
    dim(f)
    head(d)
    head(f)
    tail(d)
    tail(f)
    write.table(x = f,file = '0418.txt')
    
    > a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
    > b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
    > d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
    > f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',fill=T,skip=66,header=T)
    > dim(d)
    [1] 22277     7
    > dim(f)
    [1] 22278     7
    > head(d)
        ID_REF GSM431121 GSM431122  GSM431123  GSM431124  GSM431125  GSM431126
    1 1007_s_at 481.59980 596.79062 2721.83475 2566.31563 2737.76320 2629.25380
    2   1053_at 306.82972 224.97956  246.73288  251.85537  245.55677  196.34917
    3    117_at  30.32576  27.28749   40.12724   40.04009   48.14327   37.57184
    4    121_at 125.04107 147.67525  138.18675  160.26449  151.04978  143.56799
    5 1255_g_at  19.87286  18.08049   19.11944   19.19024   21.11857   18.96300
    6   1294_at  61.81515  57.12277   49.46442   45.69329   49.95233   46.70881
    > head(f)
        ID_REF GSM431121 GSM431122  GSM431123  GSM431124  GSM431125  GSM431126
    1 1007_s_at 481.59980 596.79062 2721.83475 2566.31563 2737.76320 2629.25380
    2   1053_at 306.82972 224.97956  246.73288  251.85537  245.55677  196.34917
    3    117_at  30.32576  27.28749   40.12724   40.04009   48.14327   37.57184
    4    121_at 125.04107 147.67525  138.18675  160.26449  151.04978  143.56799
    5 1255_g_at  19.87286  18.08049   19.11944   19.19024   21.11857   18.96300
    6   1294_at  61.81515  57.12277   49.46442   45.69329   49.95233   46.70881
    > tail(d)
                  ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
    22272  AFFX-ThrX-3_at  25.14590  25.55137  25.96761  26.44569  30.54909  24.86885
    22273  AFFX-ThrX-5_at  19.88238  19.44767  19.86274  20.04666  22.50811  19.22124
    22274  AFFX-ThrX-M_at  18.68637  18.06303  18.94539  19.43978  19.48697  18.94799
    22275 AFFX-TrpnX-3_at  19.93025  20.31343  19.57098  19.91236  20.14536  20.05193
    22276 AFFX-TrpnX-5_at  18.73988  19.09319  19.23404  18.54682  21.10093  18.34052
    22277 AFFX-TrpnX-M_at  18.91361  19.58369  19.00904  18.34500  18.64643  17.76356
    > tail(f)
                           ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
    22273           AFFX-ThrX-5_at  19.88238  19.44767  19.86274  20.04666  22.50811  19.22124
    22274           AFFX-ThrX-M_at  18.68637  18.06303  18.94539  19.43978  19.48697  18.94799
    22275          AFFX-TrpnX-3_at  19.93025  20.31343  19.57098  19.91236  20.14536  20.05193
    22276          AFFX-TrpnX-5_at  18.73988  19.09319  19.23404  18.54682  21.10093  18.34052
    22277          AFFX-TrpnX-M_at  18.91361  19.58369  19.00904  18.34500  18.64643  17.76356
    22278 !series_matrix_table_end        NA        NA        NA        NA        NA        NA
    > write.table(x = f,file = '0418.txt')
    

    作业

    1.read.table参数理解

    file:文件名(包在“”内,或者使用一个字符型变量),可能需要全程路径(注意即使是在windows下,符号\也不允许包含在内,必须使用/替换),或者一个URL链接(http://...)(用URL对文件远程访问)。
    header:一个逻辑值(FALSE or TRUE)用来反映这个文件的第一行是否包含变量名。
    sep:文件中的字段分隔符,例如对用制表符分隔的文件使用sep=“\t”。
    quote:指定用于包围字符型数据的字符。
    dec:用来表示小数点的字符。
    row.names:保存行名的向量,或文件中一个变量的序号或名字,缺省时行号取为1,2,3...
    col.names:指定列名的字符向量(缺省值是:V1,V2,V3...)。
    as.is:控制是否将字符型变量转化为因子型变量(如果值为FALSE),或者仍将其保留为字符型(TRUE)。as.is可以是逻辑型,数值型或字符型向,用来判断变量是否被保留为字符。
    na.strings:代表缺失数据的值(转化NA)。
    colClasses:指定各列的数据类型的一个字符型变量。
    nrows:可以读取的最大行数(忽略负值)。
    skip:在读取数据前跳过的行数。
    check.names:如果为TRUE,则检查变量名是否存在R中有效。
    fill:如果为TRUE且非所有的行中变量数目相同,则用空白填补。
    strip.white:在sep已指定的情况下,如果为TRUE,则删除字符型变量前后多余的空格。
    blank.lines.skip:如果为TRUE,忽略空白行。
    comment.char:一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char="")。

    2.运行各参数后,找出你认为读取文件用得比较多的参数

    读取文件用得比较多的参数有:
    “header”,“sep”,“quote”,“na.strings”,“fill”,“strip.white ”,“blank.lines.skip”,“comment.char ”,“”等等。

    3.对上述参数用法进行理解并整理

    header:按照惯例,首行只有对应列的字段而没有行标签对应的字段。因此,它会比余下的行少一个字段。(如果需要在 R 里面看到这一行,设置 header = TRUE。)如果要读取的文件里面有行标签的头字段(可能是空的),以下面的方式读取
    read.table("file.dat", header = TRUE, row.names = 1)
    列名字可以通过 col.names 显式地设定;显式设定的名字会替换首行里面的列名字(如果存在的话)。
    sep:通常,打开文件看一下就可以确定文件所使用的字段分隔符,但对于空白分割的文件,可以选择默认的sep = "" (它能使用任何空白符作为分隔符,比如空格,制表符,换行符), sep = " " 或者 sep = "\t"。注意,分隔符的选择会影响输入的被引用的字符串。如果你有含有空字段的制表符分割的文件,一定要使用 sep = "\t"。
    quote:默认情况下,字符串可以被 " 或 ' 括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。对于sep = "\n",默认值改为 quote = ""。如果没有设定分隔字符,在被引号括起的字符串里面,引号需要用 C格式的逃逸方式逃逸,即在引号前面直接加反斜杠 \。如果设定了分隔符,在被引号括起的字符串里面,按照电子表格的习惯,把引号重复两次以达到逃逸的效果。
    na.strings :默认情况下,文件是假定用 NA 表示缺损值,但是,这可以通过参数 na.strings 改变。参数 na.strings 是一个可以包括一个或多个缺损值得字符描述方式的向量。 数值列的空字段也被看作是缺损值。在数值列,值 NaN,Inf 和 -Inf 都可以被接受的。
    fill:从一个电子表格中导出的文件通常会把拖尾的空字段。
    strip.white :如果设定了分隔符,字符字段起始和收尾处的空白会作为字段一部分看待的。为了去掉这些空白,可以使用参数 strip.white = TRUE。
    blank.lines.skip:默认情况下,read.table 忽略空白行。这可以通过设置 blank.lines.skip = FALSE 来改变。但这个参数只有在和 fill = TRUE 共同使用时才有效。这时,可能是用空白行表明规则数据中的缺损样本。
    comment.char:默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。
    如果确认数据文件中没有注释内容,用 comment.char = "" 会比较安全 (也可能让速度比较快)。

    4.read.csv参数理解

    file:文件名(包在“”内,或者使用一个字符型变量),可能需要全程路径(注意即使是在windows下,符号\也不允许包含在内,必须使用/替换),或者一个URL链接(http://...)(用URL对文件远程访问)。
    header:一个逻辑值(FALSE or TRUE)用来反映这个文件的第一行是否包含变量名。
    sep:文件中的字段分隔符,例如对用制表符分隔的文件使用sep=“\t”。
    quote:指定用于包围字符型数据的字符。
    dec:用来表示小数点的字符。
    fill:如果为TRUE且非所有的行中变量数目相同,则用空白填补。
    comment.char:一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char="")。

    5.运行各参数后,找出你认为读取文件用得比较多的参数

    read.csv里的参数不多,如运行以下命令时,读取文件用得比较多的参数有,“header”,“ sep ”,“ quote”,“dec”,“fill ”,“comment.char ”。

    a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
    b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
    d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
    f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',)
    ####dim(询问数据类型的维度)
    dim(d)
    dim(f)
    head(d)
    head(f)
    tail(d)
    tail(f)
    write.table(x = f,file = '0418.txt')
    

    6.对上述参数用法进行理解并整理

    header:按照惯例,首行只有对应列的字段而没有行标签对应的字段。因此,它会比余下的行少一个字段。(如果需要在 R 里面看到这一行,设置 header = TRUE。)如果要读取的文件里面有行标签的头字段(可能是空的),以下面的方式读取
    read.table("file.dat", header = TRUE, row.names = 1)
    列名字可以通过 col.names 显式地设定;显式设定的名字会替换首行里面的列名字(如果存在的话)。
    sep:通常,打开文件看一下就可以确定文件所使用的字段分隔符,但对于空白分割的文件,可以选择默认的sep = "" (它能使用任何空白符作为分隔符,比如空格,制表符,换行符), sep = " " 或者 sep = "\t"。注意,分隔符的选择会影响输入的被引用的字符串。如果你有含有空字段的制表符分割的文件,一定要使用 sep = "\t"。
    quote:默认情况下,字符串可以被 " 或 ' 括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。对于sep = "\n",默认值改为 quote = ""。如果没有设定分隔字符,在被引号括起的字符串里面,引号需要用 C格式的逃逸方式逃逸,即在引号前面直接加反斜杠 \。如果设定了分隔符,在被引号括起的字符串里面,按照电子表格的习惯,把引号重复两次以达到逃逸的效果。
    fill:从一个电子表格中导出的文件通常会把拖尾的空字段。
    strip.white :如果设定了分隔符,字符字段起始和收尾处的空白会作为字段一部分看待的。为了去掉这些空白,可以使用参数 strip.white = TRUE。
    comment.char:默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。
    如果确认数据文件中没有注释内容,用 comment.char = "" 会比较安全 (也可能让速度比较快)。

    7.Rmarkdown 的各部件功能理解(文字描述)

    在RStudio中从文件夹“file”的子目录“New file”里打开R markdown:


    markerdown的打开方式.png

    了解markdown一些选项和图标的功能:
    如图中的解释:


    选项及图标功能.png

    8.安装R包 pheatmap,并截图安装结果

    pheatmap安装结果.png

    9.pheatmap的功能了解(文字描述)

    R语言中的pheatmap包是制作热图的一个工具,在基因表达中,根据得来的实验数据,在使用pheatmap制作的基因表达或其它测试结果的热图中,如可以用不同颜色展示基因的表达量的差异。

    10.pheatmap对读到的数据进行画图(图片展示)

    注:引用网上的数据(https://blog.csdn.net/sinat_38163598/article/details/72770404)练习,刚接触,需要花一些时间去了解

    library(pheatmap)
    #创建数据集test测试矩阵
    test = matrix(rnorm(200), 20, 10)
    test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
    test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
    test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
    colnames(test) = paste("Test", 1:10, sep = "")
    rownames(test) = paste("Gene", 1:20, sep = "")
    # 用pheatmap函数画热图
    pheatmap(test)
    
    pheatmap 制作热图 20190427 .png

    在热图格子里展示文本

    pheatmap(test, display_numbers = TRUE)
    pheatmap(test, display_numbers = TRUE, number_format = "\%.1e")
    pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))
    
    在热图格子里添加文本.png

    pheatmap还可以显示行或列的分组信息,支持多种分组;

    annotation_col = data.frame(CellType = factor(rep(c("CT1", "CT2"), 5)), Time = 1:5)
    rownames(annotation_col) = paste("Test", 1:10, sep = "")
    
    annotation_row = data.frame(GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6))))
    rownames(annotation_row) = paste("Gene", 1:20, sep = "")
    
    pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row)
    
    在热图里进行行和列分组.png

    相关文章

      网友评论

        本文标题:在R语言里读入read.table及参数理解与整理

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