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