美文网首页生物信息学Cook R数据科学与R语言
R语言入门4:数据框元素的提取和作图

R语言入门4:数据框元素的提取和作图

作者: 曹务强 | 来源:发表于2017-11-24 23:16 被阅读145次

    1. 数据框:提取元素

    > gene_exp
          Sample1 Sample2 Sample3
    gene1       1     2.0     0.3
    gene2       4     5.0     6.0
    gene3       7     0.8     9.0
    gene4      10    11.0    12.0
    > gene_exp[2,1] # 提取第二行,第一列的元素
    [1] 4
    > gene_exp[2,3] # 提取第二行,第三列的元素
    [1] 6
    > gene_exp[2,] # 提取第二行的所有列
          Sample1 Sample2 Sample3
    gene2       4       5       6
    > gene_exp[,2] # 提取第二列的所有元素
    [1]  2.0  5.0  0.8 11.0
    > gene_exp[2]  # 提取第二列(不输入行号,默认提取列)
          Sample2
    gene1     2.0
    gene2     5.0
    gene3     0.8
    gene4    11.0
    > gene_exp[1:3]  # 提取第1到3列
          Sample1 Sample2 Sample3
    gene1       1     2.0     0.3
    gene2       4     5.0     6.0
    gene3       7     0.8     9.0
    gene4      10    11.0    12.0
    > gene_exp[c(2:3)] # 提取2到3列
          Sample2 Sample3
    gene1     2.0     0.3
    gene2     5.0     6.0
    gene3     0.8     9.0
    gene4    11.0    12.0
    > gene_exp[c(1,3)] # 提取第1列和第3列
          Sample1 Sample3
    gene1       1     0.3
    gene2       4     6.0
    gene3       7     9.0
    gene4      10    12.0
    > gene_exp$Sample2 # 使用$列名提取某一列
    [1]  2.0  5.0  0.8 11.0 
    

    2.直接使用数据框中的变量

    我们可以使用R语言提取数据框中的数据进行画图:

    > gene_exp
          Sample1 Sample2 Sample3
    gene1       1     2.0     0.3
    gene2       4     5.0     6.0
    gene3       7     0.8     9.0
    gene4      10    11.0    12.0
    # 以第一列和第三列数据绘制散点图
    > plot(gene_exp$Sample1,gene_exp$Sample3)
    

    绘制效果如下:


    image.png

    但是,上述代码中gene_exp会重复出现,使代码非常不优雅,可通过attach命令,将数据框的名称添加到搜索目录中,我们在通过plot命令画图时,只需要输入列名即可:

    > attach(gene_exp)
    > plot(Sample1,Sample3)
    > detach(gene_exp) #画图完成后,使用detach()命令,将gene_exp从R的搜索目录中去掉
    
    image.png

    当两个数据框中的列名相同时,同时attach()会报错:

    > gene_exp3<-gene_exp[c(1,3)] # 将gene_exp的第一列和第三列定义为gene_exp3
    > gene_exp3
          Sample1 Sample3
    gene1       1     0.3
    gene2       4     6.0
    gene3       7     9.0
    gene4      10    12.0
    > attach(gene_exp) 
    > attach(gene_exp3) # attach gene_exp3时报错
    The following objects are masked from gene_exp:
    
        Sample1, Sample3
    

    我们可以通过R的with命令避免上述情况的发生:

    with(gene_exp, plot(Sample1,Sample2))
    

    运行结果如下:


    image.png

    相关文章

      网友评论

      • 王诗翔:类似文章可以加投到cook r,然后你的图好像没传成功
        曹务强:谢谢提醒,已修复!:blush:

      本文标题:R语言入门4:数据框元素的提取和作图

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