筆記整理
http://www.reibang.com/p/aeb2f74b4080
R包安裝 http://www.bio-info-trainee.com/3727.html
看了生信技能樹曾老師的R包安裝視頻教程娃豹,可到官網(wǎng)或者通過微云傳輸下載R包绍撞,根據(jù)電腦配置(有Window系統(tǒng)和Mac系統(tǒng))選擇匹配的R包祟剔,在安裝過程中奉呛,選默認安裝途徑就可以末购。
R包安裝指導http://www.reibang.com/p/f3ac3ec511da
已看過生信技能樹團隊出品的R包安裝指導視頻教程。
簡單了解二代測序https://share.weiyun.com/5dLV9A7 密碼:wsstn9
已看過鏈接中的視頻礼预,了解二代測序的原理和方法脑融。
R markdown使用
在作業(yè)中有
數(shù)據(jù)存讀:http://www.reibang.com/p/6ba9da4e2f5b
http://www.reibang.com/p/6ba9da4e2f5b
a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',)
####dim(詢問數(shù)據(jù)類型的維度)
dim(d)
dim(f)
head(d)
head(f)
tail(d)
tail(f)
write.table(x = f,file = '0418.txt')
> a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
> b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
> d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
> f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',fill=T,skip=66,header=T)
> dim(d)
[1] 22277 7
> dim(f)
[1] 22278 7
> head(d)
ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
1 1007_s_at 481.59980 596.79062 2721.83475 2566.31563 2737.76320 2629.25380
2 1053_at 306.82972 224.97956 246.73288 251.85537 245.55677 196.34917
3 117_at 30.32576 27.28749 40.12724 40.04009 48.14327 37.57184
4 121_at 125.04107 147.67525 138.18675 160.26449 151.04978 143.56799
5 1255_g_at 19.87286 18.08049 19.11944 19.19024 21.11857 18.96300
6 1294_at 61.81515 57.12277 49.46442 45.69329 49.95233 46.70881
> head(f)
ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
1 1007_s_at 481.59980 596.79062 2721.83475 2566.31563 2737.76320 2629.25380
2 1053_at 306.82972 224.97956 246.73288 251.85537 245.55677 196.34917
3 117_at 30.32576 27.28749 40.12724 40.04009 48.14327 37.57184
4 121_at 125.04107 147.67525 138.18675 160.26449 151.04978 143.56799
5 1255_g_at 19.87286 18.08049 19.11944 19.19024 21.11857 18.96300
6 1294_at 61.81515 57.12277 49.46442 45.69329 49.95233 46.70881
> tail(d)
ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
22272 AFFX-ThrX-3_at 25.14590 25.55137 25.96761 26.44569 30.54909 24.86885
22273 AFFX-ThrX-5_at 19.88238 19.44767 19.86274 20.04666 22.50811 19.22124
22274 AFFX-ThrX-M_at 18.68637 18.06303 18.94539 19.43978 19.48697 18.94799
22275 AFFX-TrpnX-3_at 19.93025 20.31343 19.57098 19.91236 20.14536 20.05193
22276 AFFX-TrpnX-5_at 18.73988 19.09319 19.23404 18.54682 21.10093 18.34052
22277 AFFX-TrpnX-M_at 18.91361 19.58369 19.00904 18.34500 18.64643 17.76356
> tail(f)
ID_REF GSM431121 GSM431122 GSM431123 GSM431124 GSM431125 GSM431126
22273 AFFX-ThrX-5_at 19.88238 19.44767 19.86274 20.04666 22.50811 19.22124
22274 AFFX-ThrX-M_at 18.68637 18.06303 18.94539 19.43978 19.48697 18.94799
22275 AFFX-TrpnX-3_at 19.93025 20.31343 19.57098 19.91236 20.14536 20.05193
22276 AFFX-TrpnX-5_at 18.73988 19.09319 19.23404 18.54682 21.10093 18.34052
22277 AFFX-TrpnX-M_at 18.91361 19.58369 19.00904 18.34500 18.64643 17.76356
22278 !series_matrix_table_end NA NA NA NA NA NA
> write.table(x = f,file = '0418.txt')
作業(yè)
1.read.table參數(shù)理解
file:文件名(包在“”內(nèi)疮装,或者使用一個字符型變量),可能需要全程路徑(注意即使是在windows下雌续,符號\也不允許包含在內(nèi)斩个,必須使用/替換),或者一個URL鏈接(http://...)(用URL對文件遠程訪問)驯杜。
header:一個邏輯值(FALSE or TRUE)用來反映這個文件的第一行是否包含變量名受啥。
sep:文件中的字段分隔符,例如對用制表符分隔的文件使用sep=“\t”鸽心。
quote:指定用于包圍字符型數(shù)據(jù)的字符滚局。
dec:用來表示小數(shù)點的字符。
row.names:保存行名的向量顽频,或文件中一個變量的序號或名字藤肢,缺省時行號取為1,2糯景,3...
col.names:指定列名的字符向量(缺省值是:V1嘁圈,V2,V3...)。
as.is:控制是否將字符型變量轉(zhuǎn)化為因子型變量(如果值為FALSE)蟀淮,或者仍將其保留為字符型(TRUE)最住。as.is可以是邏輯型,數(shù)值型或字符型向怠惶,用來判斷變量是否被保留為字符涨缚。
na.strings:代表缺失數(shù)據(jù)的值(轉(zhuǎn)化NA)。
colClasses:指定各列的數(shù)據(jù)類型的一個字符型變量策治。
nrows:可以讀取的最大行數(shù)(忽略負值)脓魏。
skip:在讀取數(shù)據(jù)前跳過的行數(shù)。
check.names:如果為TRUE通惫,則檢查變量名是否存在R中有效茂翔。
fill:如果為TRUE且非所有的行中變量數(shù)目相同,則用空白填補履腋。
strip.white:在sep已指定的情況下檩电,如果為TRUE,則刪除字符型變量前后多余的空格府树。
blank.lines.skip:如果為TRUE,忽略空白行料按。
comment.char:一個字符用來在數(shù)據(jù)文件中寫注釋奄侠,以這個字符開頭的行將被忽略(要禁用這個參數(shù),可使用comment.char="")载矿。
2.運行各參數(shù)后垄潮,找出你認為讀取文件用得比較多的參數(shù)
讀取文件用得比較多的參數(shù)有:
“header”烹卒,“sep”,“quote”弯洗,“na.strings”旅急,“fill”,“strip.white ”牡整,“blank.lines.skip”藐吮,“comment.char ”,“”等等逃贝。
3.對上述參數(shù)用法進行理解并整理
header:按照慣例谣辞,首行只有對應(yīng)列的字段而沒有行標簽對應(yīng)的字段。因此沐扳,它會比余下的行少一個字段泥从。(如果需要在 R 里面看到這一行,設(shè)置 header = TRUE沪摄。)如果要讀取的文件里面有行標簽的頭字段(可能是空的)躯嫉,以下面的方式讀取
read.table("file.dat", header = TRUE, row.names = 1)
列名字可以通過 col.names 顯式地設(shè)定;顯式設(shè)定的名字會替換首行里面的列名字(如果存在的話)杨拐。
sep:通常祈餐,打開文件看一下就可以確定文件所使用的字段分隔符,但對于空白分割的文件戏阅,可以選擇默認的sep = "" (它能使用任何空白符作為分隔符昼弟,比如空格,制表符奕筐,換行符)舱痘, sep = " " 或者 sep = "\t"。注意离赫,分隔符的選擇會影響輸入的被引用的字符串芭逝。如果你有含有空字段的制表符分割的文件,一定要使用 sep = "\t"渊胸。
quote:默認情況下旬盯,字符串可以被 " 或 ' 括起,并且兩種情況下翎猛,引號內(nèi)部的字符都作為字符串的一部分胖翰。有效的引用字符(可能沒有)的設(shè)置由參數(shù) quote 控制。對于sep = "\n"切厘,默認值改為 quote = ""萨咳。如果沒有設(shè)定分隔字符,在被引號括起的字符串里面疫稿,引號需要用 C格式的逃逸方式逃逸培他,即在引號前面直接加反斜杠 \鹃两。如果設(shè)定了分隔符,在被引號括起的字符串里面舀凛,按照電子表格的習慣俊扳,把引號重復兩次以達到逃逸的效果。
na.strings :默認情況下猛遍,文件是假定用 NA 表示缺損值馋记,但是,這可以通過參數(shù) na.strings 改變螃壤。參數(shù) na.strings 是一個可以包括一個或多個缺損值得字符描述方式的向量抗果。 數(shù)值列的空字段也被看作是缺損值。在數(shù)值列奸晴,值 NaN冤馏,Inf 和 -Inf 都可以被接受的。
fill:從一個電子表格中導出的文件通常會把拖尾的空字段寄啼。
strip.white :如果設(shè)定了分隔符逮光,字符字段起始和收尾處的空白會作為字段一部分看待的。為了去掉這些空白墩划,可以使用參數(shù) strip.white = TRUE涕刚。
blank.lines.skip:默認情況下,read.table 忽略空白行乙帮。這可以通過設(shè)置 blank.lines.skip = FALSE 來改變杜漠。但這個參數(shù)只有在和 fill = TRUE 共同使用時才有效。這時察净,可能是用空白行表明規(guī)則數(shù)據(jù)中的缺損樣本驾茴。
comment.char:默認情況下,read.table 用 # 作為注釋標識字符氢卡。如果碰到該字符(除了在被引用的字符串內(nèi))锈至,該行中隨后的內(nèi)容將會被忽略。只含有空白和注釋的行被當作空白行译秦。
如果確認數(shù)據(jù)文件中沒有注釋內(nèi)容峡捡,用 comment.char = "" 會比較安全 (也可能讓速度比較快)。
4.read.csv參數(shù)理解
file:文件名(包在“”內(nèi)筑悴,或者使用一個字符型變量)们拙,可能需要全程路徑(注意即使是在windows下,符號\也不允許包含在內(nèi)阁吝,必須使用/替換)睛竣,或者一個URL鏈接(http://...)(用URL對文件遠程訪問)。
header:一個邏輯值(FALSE or TRUE)用來反映這個文件的第一行是否包含變量名求摇。
sep:文件中的字段分隔符射沟,例如對用制表符分隔的文件使用sep=“\t”。
quote:指定用于包圍字符型數(shù)據(jù)的字符与境。
dec:用來表示小數(shù)點的字符验夯。
fill:如果為TRUE且非所有的行中變量數(shù)目相同,則用空白填補摔刁。
comment.char:一個字符用來在數(shù)據(jù)文件中寫注釋挥转,以這個字符開頭的行將被忽略(要禁用這個參數(shù),可使用comment.char="")共屈。
5.運行各參數(shù)后绑谣,找出你認為讀取文件用得比較多的參數(shù)
read.csv里的參數(shù)不多,如運行以下命令時拗引,讀取文件用得比較多的參數(shù)有借宵,“header”,“ sep ”矾削,“ quote”壤玫,“dec”,“fill ”哼凯,“comment.char ”欲间。
a<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt')
b<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',)
d<-read.csv('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',comment.char = '!',sep='\t')
f<-read.table('/Users/chenjiangshu/cjs-beginner/GSE17215_series_matrix.txt',sep = '\t',)
####dim(詢問數(shù)據(jù)類型的維度)
dim(d)
dim(f)
head(d)
head(f)
tail(d)
tail(f)
write.table(x = f,file = '0418.txt')
6.對上述參數(shù)用法進行理解并整理
header:按照慣例,首行只有對應(yīng)列的字段而沒有行標簽對應(yīng)的字段断部。因此猎贴,它會比余下的行少一個字段。(如果需要在 R 里面看到這一行蝴光,設(shè)置 header = TRUE她渴。)如果要讀取的文件里面有行標簽的頭字段(可能是空的),以下面的方式讀取
read.table("file.dat", header = TRUE, row.names = 1)
列名字可以通過 col.names 顯式地設(shè)定虱疏;顯式設(shè)定的名字會替換首行里面的列名字(如果存在的話)惹骂。
sep:通常,打開文件看一下就可以確定文件所使用的字段分隔符做瞪,但對于空白分割的文件对粪,可以選擇默認的sep = "" (它能使用任何空白符作為分隔符,比如空格装蓬,制表符著拭,換行符), sep = " " 或者 sep = "\t"牍帚。注意儡遮,分隔符的選擇會影響輸入的被引用的字符串。如果你有含有空字段的制表符分割的文件暗赶,一定要使用 sep = "\t"鄙币。
quote:默認情況下肃叶,字符串可以被 " 或 ' 括起,并且兩種情況下十嘿,引號內(nèi)部的字符都作為字符串的一部分因惭。有效的引用字符(可能沒有)的設(shè)置由參數(shù) quote 控制。對于sep = "\n"绩衷,默認值改為 quote = ""蹦魔。如果沒有設(shè)定分隔字符,在被引號括起的字符串里面咳燕,引號需要用 C格式的逃逸方式逃逸勿决,即在引號前面直接加反斜杠 \。如果設(shè)定了分隔符招盲,在被引號括起的字符串里面低缩,按照電子表格的習慣,把引號重復兩次以達到逃逸的效果宪肖。
fill:從一個電子表格中導出的文件通常會把拖尾的空字段表制。
strip.white :如果設(shè)定了分隔符,字符字段起始和收尾處的空白會作為字段一部分看待的控乾。為了去掉這些空白么介,可以使用參數(shù) strip.white = TRUE。
comment.char:默認情況下蜕衡,read.table 用 # 作為注釋標識字符壤短。如果碰到該字符(除了在被引用的字符串內(nèi)),該行中隨后的內(nèi)容將會被忽略慨仿。只含有空白和注釋的行被當作空白行久脯。
如果確認數(shù)據(jù)文件中沒有注釋內(nèi)容,用 comment.char = "" 會比較安全 (也可能讓速度比較快)镰吆。
7.Rmarkdown 的各部件功能理解(文字描述)
在RStudio中從文件夾“file”的子目錄“New file”里打開R markdown:
了解markdown一些選項和圖標的功能:
如圖中的解釋:
8.安裝R包 pheatmap帘撰,并截圖安裝結(jié)果
9.pheatmap的功能了解(文字描述)
R語言中的pheatmap包是制作熱圖的一個工具,在基因表達中万皿,根據(jù)得來的實驗數(shù)據(jù)摧找,在使用pheatmap制作的基因表達或其它測試結(jié)果的熱圖中,如可以用不同顏色展示基因的表達量的差異牢硅。
10.pheatmap對讀到的數(shù)據(jù)進行畫圖(圖片展示)
注:引用網(wǎng)上的數(shù)據(jù)(https://blog.csdn.net/sinat_38163598/article/details/72770404)練習蹬耘,剛接觸,需要花一些時間去了解
library(pheatmap)
#創(chuàng)建數(shù)據(jù)集test測試矩陣
test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")
# 用pheatmap函數(shù)畫熱圖
pheatmap(test)
在熱圖格子里展示文本
pheatmap(test, display_numbers = TRUE)
pheatmap(test, display_numbers = TRUE, number_format = "\%.1e")
pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))
pheatmap還可以顯示行或列的分組信息减余,支持多種分組综苔;
annotation_col = data.frame(CellType = factor(rep(c("CT1", "CT2"), 5)), Time = 1:5)
rownames(annotation_col) = paste("Test", 1:10, sep = "")
annotation_row = data.frame(GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6))))
rownames(annotation_row) = paste("Gene", 1:20, sep = "")
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row)