精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
哈佛R語言課程--2.R語法與數據結構
今天是生信星球陪你的第327天
大神一句話,菜鳥跑半年。我不是大神,但我可以縮短你走彎路的半年~
就像歌兒唱的那樣,如果你不知道該往哪兒走,就留在這學點生信好不好~
這里有豆豆和花花的學習歷程,從新手到進階,生信路上有你有我!
注意:微信自動屏蔽外鏈,所以鏈接打不開,請查看原版材料或者簡書。
原課程鏈接:
https://hbctraining.github.io/Intro-to-R/lessons/02_introR-syntax-and-data-structures.html
https://github.com/hbctraining/Intro-to-R
系列目錄
推薦一套來自哈佛的R語言和差異分析課程
哈佛R語言課程--1.R簡介
學習目標
應用R的變量
描述R的各種數據類型。
構建數據結構以存儲數據。
1.R語法
現在我們知道如何通過腳本編輯器或控制臺與R交互,我們希望使用R來做比添加數字更多的事情。為此,我們需要了解有關R語法的更多信息。
下面是一個示例腳本,突出顯示R(語法)的許多不同“詞性”:
注釋 #
變量和函數
賦值運算符 <-
函數中的參數用 =
注意:縮進和對齊是為了提高清晰度和易讀性
示例腳本
# Load libraries
library(Biobase)
library(limma)
library(ggplot2)
# Setup directory variables
baseDir <- getwd()
dataDir <- file.path(baseDir, 'data')
metaDir <- file.path(baseDir, 'meta')
resultsDir <- file.path(baseDir, 'results')
# Load data
meta <- read.delim(file.path(metaDir, '2015-1018_sample_key.csv'), header=T, sep='\t', row.names=1)
2.賦值運算符
要在R中做更多事,需要把值對應到 變量,使用賦值運算符,<-。例如,可以使用賦值運算符將賦值3賦值給 x:
x <- 3
賦值運算符(<-)將右邊的值賦給左邊的變量。
在RStudio中,賦值符號快捷鍵是Alt和-。
3.變量
變量是信息的符號名稱或引用代號。計算機編程中的變量類似于“桶”,其中可以存儲和引用信息。在桶的外面是一個名字。在引用“桶”時,我們使用“桶”的名稱,而不是存儲在“桶”中的數據。
在上面的例子中,我們創建了一個名為 x的變量(“桶”)。并放了一個值,3。
創建另一個名為y的變量,并賦值為5。
y <- 5
為變量賦值時,R不會向控制臺輸出任何內容。您可以強制使用括號輸出值并或鍵入變量名來輸出值。
y
還可以通過查看RStudio界面右上角的窗口Environment來查看有關變量的信息。
查看environment
現在我們可以通過名稱引用這些“桶”來對其中包含的值執行數學運算。在控制臺中執行:
x + y
嘗試將此操作的結果賦值給另一個名為的變量number。
number <- x + y
練習
嘗試將變量x的值更改為5,number會變化嗎?
現在嘗試更改變量的值y以包含值10.您需要做什么來更新變量number?
關于變量名的提示
變量可以給幾乎任何名稱,例如x,current_temperature或 subject_id。但是,應該記住一些規則/建議:
要明確,但不要太長。
避免使用以數字開頭的名稱(2x無效但是x2)
避免在R中基本功能的名稱(例如if,else,for,看這里的完整列表)。在一般情況下,即使它是允許的,最好不要使用其他的功能的名稱(如c,T,mean,data)作為變量名。如有疑問,請查看幫助以查看該名稱是否已被使用。
避免在變量名中使用(.),比如my.dataset。由于歷史原因,R中有許多帶有“.”的函數,但由于“.”在R(對于methods)和其他編程語言中具有特殊含義,最好避免。
使用名詞作為對象名稱和動詞來表示函數名稱
請記住,R區分大小寫(例如,genome_length與之不同Genome_length)
與代碼的樣式(放置空格,如何命名變量等)保持一致。在R中,兩個流行的風格指南是Hadley Wickham的風格指南和Google的風格指南。
4.數據類型
變量可以包含R中特定類型的值.R使用的六種數據類型包括:
'numeric' 任何數值
'character' 對于文本值,使用引號(“”)表示值
'integer'為整數(例如,2L中,L表示與R,它是一個整數)
'logical': TRUE和FALSE(布爾數據類型)
'complex'用實部和虛部來表示復數(例如 1+4i)
'raw'
后兩種不作進一步討論
下表提供了每種常用數據類型的示例:
數據類型例子
數字:1,1.5,20,pi
字符:“anytext”,“5”,“TRUE”
整數:2L,500L,-17L
邏輯:TRUE,FALSE,T,F
5.數據結構
我們知道變量就像桶一樣,到目前為止我們已經看到單個值填充的“桶”。number創建時,數學運算的結果也是單個值。變量可以存儲多個單獨的值,它們可以存儲多種不同的數據結構。這些包括但不限于向量(c),因子(factor),矩陣(matrix),數據框(data.frame)和列表(list)。
(1)向量
向量是R中最常見和最基本的數據結構,幾乎是R的主力。它基本上只是一組值,主要是數字,
數字向量
或者字符串,
字符串向量
或邏輯值,
邏輯向量
請注意,向量中的所有值必須具有相同的數據類型。如果您嘗試創建具有多個數據類型的向量,R將嘗試將其強制轉換為單個數據類型。
例如,如果您嘗試創建以下向量:
混合的向量
R會強制寫入:
image
向量就好比有不同的隔間的桶; 向量中的這些隔間稱為元素。
每個元素都包含一個值,并且一個向量中包含的元素數量沒有限制。向量被賦值給單個變量,無論它包含多少元素,最終它仍然是單個實體(桶)。
現在創建一個表示基因組長度的向量,并將其賦值給一個名為glengths的變量。
該向量的每個元素包含單個數值,并且使用c()(組合函數)將三個值組合在一起成為向量。所有值都放在括號內并用逗號分隔。
glengths <- c(4.6, 3000, 50000)
glengths
請注意,environment顯示glengths變量是數字,并告訴您glengths向量從元素1開始,到元素3結束(即向量包含3個值)。
向量也可以包含字符。創建另一個包含三個元素的向量species,其中每個元素對應于基因組大小向量(以Mb為單位)。
species <- c('ecoli', 'human', 'corn')
species
練習
通過組合我們剛剛創建的兩個向量(glengths和species)來創建數值和字符值的向量。將此組合向量賦值給名為的新變量combined。提示:您需要使用combine c()函數來執行此操作。combined在控制臺中輸出向量,與原始向量相比看起來有什么不同?
(2)因子
因子是一種特殊類型的向量,用于存儲分類數據。每個唯一類別被稱為factor level(即類別=級別)。因子建立在整數向量之上,使得每個actor level被賦予整數值,從而創建值 - 標簽對。
因子
讓我們創建一個因子型向量并探索更多。我們首先創建一個描述三種不同表達級別的字符向量:
expression <- c('low', 'high', 'medium', 'high', 'low', 'medium', 'high')
現在我們可以使用函數將此字符向量轉換為因子factor():
expression <- factor(expression)
那么,factor()函數實現了什么?
factor_new
表達向量是分類的,因為向量中的所有值都屬于一組類別; 在這個例子中,類別是low,medium和high。通過將表達向量轉換為因子,類別按字母順序分配整數,高= 1,低= 2,中等= 3。這實際上分配了不同的因子水平。您可以在“ environment”窗口中查看新創建的因子變量和level。
環境中的因子變量
練習
在實驗分析中使用三組不同的細胞:正常細胞,基因敲除細胞(一個牛X的基因),以及過表達基因A的細胞。每種細胞類型我們有三個重復。
samplegroup使用以下代碼創建一個名為的向量。該載體將包含9個元件:3個對照(“CTL”)樣品,3個敲除(“KO”)樣品和3個過表達(“OE”)樣品:
samplegroup <- c('CTL', 'CTL', 'CTL', 'KO', 'KO', 'KO', 'OE', 'OE', 'OE')
轉samplegroup成因子數據結構。
(3)矩陣
R的矩陣(matrix)是具有相同長度和相同數據類型的向量的集合。向量按行或按列組合為矩陣,創建二維結構。
矩陣
矩陣通常用作統計學數學機制的一部分。矩陣的數據類型通常是數值,并在計算算法中用作checkpoint。例如,如果輸入數據的數據類型不同(數字,字符等),則matrix()函數將報錯,并停止執行任何下游代碼。
(4)數據框
數據框( data.frame)是大多數表格數據的實際數據結構,以及我們用于統計和繪圖的內容。Adata.frame類似于矩陣,因為它是相同長度的向量集合,每個向量代表一列。但是,在數據框中,每個向量可以是不同的數據類型(例如,字符,整數,因子)。
數據框
數據框是在R中存儲數據的最常用方式,如果系統地使用,則使數據分析更容易。
我們可以通過將向量按列組合來來創建數據框。我們使用data.frame()函數執行此操作,并為函數提供我們想要組合在一起的不同向量。此功能僅適用于相同長度的向量。
df <- data.frame(species, glengths)
注意data.frame()默認將字符向量轉換為因子。將數據框輸出到控制臺:
df
檢查數據集,發現雖然species向量是字符向量,但在數據框中被自動轉換為因子(刪除引號)。我們將在下一課中展示如何更改函數的默認行為。
請注意,您可以通過單擊Environment窗口中的變量名來查看data.frame對象。
列表
列表是R中的一個數據結構,聽起來嚇人,實際上非常有用。列表是一種數據結構,可以包含任意數量、任何類型的其他數據結構。
列表
如果您希望組合使用不同數據結構的變量,則可以使用list()函數將所有這些變量放入一個列表對象中,并將要組合的所有項目放在括號中:
list1 <- list(species, df, number)
將列表輸出到屏幕以查看組件:
list1
[[1]]
[1] 'ecoli' 'human' 'corn'
[[2]]
species glengths
1   ecoli      4.6
2   human   3000.0
3    corn  50000.0
[[3]]
[1] 5
有三個組件對應于我們傳入的三個不同變量,可以看到每個變量的結構都被保留。基于數字位置引用列表的每個組件。我們將在后面的課程中更多地討論如何檢查和操作列表的組件。
練習
創建一個名為list2的列表,其中包含species,glengths和number。
*本課程由[Harvard Chan Bioinformatics Core (HBC)](https://github.com/hbctraining/In-depth-NGS-Data-Analysis-Course)的教學團隊成員開發,中文版由簡書ID@小潔忘了怎么分身(公眾號@生信星球)整理。
(抱歉昨天對生物信息中心的中文翻譯有誤,公眾號無法修改,但簡書中修改了。)
隔壁生信技能樹公益視頻合輯(學習順序是linux,r,軟件安裝,geo,小技巧,ngs組學!)
國內看B站,教學視頻鏈接:https://m.bilibili.com/space/338686099
國外看YouTube,教學視頻鏈接:https://m.youtube.com/channel/UC67sImqK7V8tSWHMG8azIVA/playlists
友情鏈接:
生信工程師入門最佳指南
學徒培養
資料大全
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
R語言 | 第四講:R語言數據類型及結構
收藏|零基礎學R之數據結構,一個學習R的理由足夠
(生信篇)R語言學習第2天-R語言數據結構
R語言入門
R語言系列第一期(番外篇 ):R的6種對象—向量、矩陣、數組、因子、列表、數據框
R:數據結構
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 阿城市| 贵阳市| 哈尔滨市| 上高县| 桦川县| 呈贡县| 饶河县| 斗六市| 商水县| 峨山| 荆门市| 乐都县| 庄河市| 汝州市| 华池县| 宣化县| 万载县| 南丹县| 静宁县| 六枝特区| 新干县| 玉林市| 威信县| 会宁县| 承德县| 泰州市| 德兴市| 江阴市| 杭州市| 潞城市| 庄河市| 高雄县| 惠州市| 信阳市| 获嘉县| 庐江县| 全州县| 红安县| 德化县| 舒兰市| 怀柔区|