1. 程式人生 > 其它 >r語言提取cvs資料_乾貨|R語言生物資訊大資料分析基礎入門

r語言提取cvs資料_乾貨|R語言生物資訊大資料分析基礎入門

技術標籤:r語言提取cvs資料

9ea42fe782c8dd156417fff824c1ad22.gif
R是一個自由、免費、開放的軟體。具有強大的資料處理能力,越來越多的科研工作者也開始使用R語言處理科研資料,發表論文、文章。
牛頓曾經說過:如果說我看得比別人更遠些,那是因為我站在巨人的肩膀上。而R語言就是“巨人的肩膀”。但對於很多不是生信專業出身,卻又需要 R 來統計及繪圖的科研小夥伴來說,熟練使用 R 還是一項具有難度的挑戰。今天介紹的R語言基礎入門,希望能幫助到大家。
良好的R使用習慣
  • R支援中文,但不好!建議用全英文環境。

  • R語言具有嚴格的符號與語法控制,建議使用純文字編輯工具編寫R程式碼(注意中文符號)。

  • 使用R時,要先設定工作目錄(getwd(), setwd())。

  • R可以使用Tab鍵自動補齊命令列。

設定R預設啟動項
file.edit('~/.Rprofile')#bioconductoroptions(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")#CRANoptions(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")
R包管理
install.packages("ggplot2")  安裝R包library(ggplot2)  載入R包update.packages()  將所有的包進行更新
更新R版本
install.packages("installr")require(installr)updateR()
R中的資料物件與資料操作
賦值與註釋
a = 2  # R中對變數的名字大小寫敏感,a與A是不同的a a b c 
資料物件
  • 標量

  • 向量

  • 因子

  • 矩陣

  • 陣列

  • 列表

  • 資料框

資料物件通常有三個屬性:型別、值、變數名稱

舉例
  1. 標量

a a = 3.14m x TURE -> y> y[1]  TURE> x[1]  FALSE
  1. 向量

a 1,b "one",c # 使用函式rep(), seq(), ":"生成向量d 2,times=> d[1] 2 2 2 2e from=> e[1]  3  6  9 12 15 18 21f 1:> f [1]  1  2  3  4  5  6  7  8  9 10# 向量提取元素> a[1][1] 1> a[c(1,5)][1] 1 5> a[1:3][1] 1 2 3> a[a<5][1] 1 2 3 4  # 通過判斷來提取元素> a[a>5][1]  6  7  8  9 10> a[-c(1,5)][1]  2  3  4  6  7  8  9 10   # 去除向量中的元素a[5] 12> a [1]  1  2  3  4 12  6  7  8  9 10  #替換元素a 12,> a [1]  1  2  3  4  5 12  6  7  8  9 10   # 新增元素
  1. 因子

# 因子是一種特殊型別的字元型向量# 建立一個字元向量或整數向量# 使用 factor()函式將其轉為因子b "one",b > b[1] one   two   threeLevels: one three two
  1. 矩陣

矩陣是一個二維陣列函式matrix()用於建立矩陣y 1:> y     [,1] [,2] [,3] [,4][1,]    1    6   11   16[2,]    2    7   12   17[3,]    3    8   13   18[4,]    4    9   14   19[5,]    5   10   15   20y 1:> y     [,1] [,2] [,3] [,4][1,]    1    2    3    4[2,]    5    6    7    8[3,]    9   10   11   12[4,]   13   14   15   16[5,]   17   18   19   20
  1. 資料框

patientID age status patientDate > patientDate  patientID age   status1         1  25     poor2         2  34 improved3         3  28     poor4         4  52     good> NCBIdata   Year BasePairs1  1991      11002  1992      12003  1993      13004  1994      14005  1995      15006  1996      16007  1997      17008  1998      18009  1999      190010 2000      2000# 按照條件提取> NCBIdata[NCBIdata$Year>1998,]   Year BasePairs9  1999      190010 2000      2000 NCBIdata[NCBIdata$Year>1990 & NCBIdata$BasePairs>1700,]   Year BasePairs8  1998      18009  1999      190010 2000      2000> NCBIdata[,c("Year")] [1] 1991 1992 1993 1994 1995 1996[7]1997199819992000
  1. 列表

rec "LiMing",age=> rec$`name`[1] "LiMing"$age[1] 18$scores[1] 85 76 90
R中的基礎函式及程式設計

函式形式:函式(輸入資料,引數=)
平均值:mean(x,trim=0,na.rm =FALSE,...)
線性模型:lm(y~x,data=test)

R字元資料操作函式
  • 字符合並

>paste("abc","bc")[1] "abc bc">paste("abc","bc",sep="")[1] "abcbc"
  • 字元取長度

>nchar("abcccc")[1] 6
  • 字元取子集

> substr("abcdef",2,3)[1] "bc"> substring("abcdef", 3)[1] "cdef"substring("abcdef", 1:6, 1:6)[1] "a" "b" "c" "d" "e" "f"> substr(rep("abcdef", 4), 1:4, 4:5)[1] "abcd" "bcde" "cd"   "de"  
程式設計基礎

函式名 {
異常處理;
表示式(迴圈/判別);
return(返回值);
}

輸入直角三角形的兩個邊,求斜邊長rcal function(x,y){      z 2 + y^      result       return(result)}rcal(3,4)
流程控制 if

if (條件)表示式,或if (條件)表示式1 else 表示式2

p = 0.03if (p < = 0.05) {      print("p <= 0.05!")} else {      print("p > 0.05!")}x = 3y if (x==2) x 
條件與邏輯運算
  • 判斷相等 x==y

  • 判斷小於等於 x<=y

  • 判斷大於等於 x>=y

  • 邏輯“與”運算 x && y

  • 邏輯“或”運算 x || y

  • 邏輯“非”運算 !x

  • 向量的邏輯“與” x & y

  • 向量的邏輯“或” x | y

迴圈 for,while
for (i in 1:10)  print (i)a for (i in 1:10){      a }> a[1] 10i while (i <10) { print (i); i 
資料的輸入與輸出
read.table()read.csv()write.table()write.csv()

免責宣告:來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。本宣告未涉及的問題參見國家有關法律法規,當本宣告與國家法律法規衝突時,以國家法律法規為準。

•END•