R語言入門4:數據框元素的提取和作圖

1. 數據框:提取元素

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

2.直接使用數據框中的變數

我們可以使用R語言提取數據框中的數據進行畫圖:

> gene_exp Sample1 Sample2 Sample3gene1 1 2.0 0.3gene2 4 5.0 6.0gene3 7 0.8 9.0gene4 10 11.0 12.0# 以第一列和第三列數據繪製散點圖> plot(gene_exp$Sample1,gene_exp$Sample3)

繪製效果如下:

但是,上述代碼中gene_exp會重複出現,使代碼非常不優雅,可通過attach命令,將數據框的名稱添加到搜索目錄中,我們在通過plot命令畫圖時,只需要輸入列名即可:

> attach(gene_exp)> plot(Sample1,Sample3)> detach(gene_exp) #畫圖完成後,使用detach()命令,將gene_exp從R的搜索目錄中去掉

當兩個數據框中的列名相同時,同時attach()會報錯:

> gene_exp3<-gene_exp[c(1,3)] # 將gene_exp的第一列和第三列定義為gene_exp3> gene_exp3 Sample1 Sample3gene1 1 0.3gene2 4 6.0gene3 7 9.0gene4 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))

運行結果如下:


推薦閱讀:

DeepVariant: 用卷積神經網路進行DNA序列變異位點檢測
【工具】IPA分析RNA-seq數據
生物信息學100個基礎問題 —— 第10題 讀懂FastQC報告之adapter與kmer
【生信菜鳥經】漫談如何跨越擺在生信入門路上的三大障礙
信分析平台搭建(十九):安裝Galaxy

TAG:R編程語言 | 生物信息學 |