在R語言里讀入read.table及參數(shù)理解與整理

筆記整理

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

下載的txt文件.png

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:


markerdown的打開方式.png

了解markdown一些選項和圖標的功能:
如圖中的解釋:


選項及圖標功能.png

8.安裝R包 pheatmap帘撰,并截圖安裝結(jié)果

pheatmap安裝結(jié)果.png

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 制作熱圖 20190427 .png

在熱圖格子里展示文本

pheatmap(test, display_numbers = TRUE)
pheatmap(test, display_numbers = TRUE, number_format = "\%.1e")
pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))
在熱圖格子里添加文本.png

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)
在熱圖里進行行和列分組.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子如筛,更是在濱河造成了極大的恐慌堡牡,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妙黍,死亡現(xiàn)場離奇詭異悴侵,居然都是意外死亡,警方通過查閱死者的電腦和手機拭嫁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抓于,“玉大人做粤,你說我怎么就攤上這事∽酱椋” “怎么了怕品?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長巾遭。 經(jīng)常有香客問我肉康,道長,這世上最難降的妖魔是什么灼舍? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任吼和,我火速辦了婚禮,結(jié)果婚禮上骑素,老公的妹妹穿的比我還像新娘炫乓。我一直安慰自己,他們只是感情好献丑,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布末捣。 她就那樣靜靜地躺著,像睡著了一般创橄。 火紅的嫁衣襯著肌膚如雪箩做。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天妥畏,我揣著相機與錄音邦邦,去河邊找鬼。 笑死咖熟,一個胖子當著我的面吹牛圃酵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播馍管,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼郭赐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捌锭,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤俘陷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后观谦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拉盾,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年豁状,在試婚紗的時候發(fā)現(xiàn)自己被綠了捉偏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡泻红,死狀恐怖夭禽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谊路,我是刑警寧澤讹躯,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站缠劝,受9級特大地震影響潮梯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惨恭,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一秉馏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喉恋,春花似錦沃饶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至氓鄙,卻和暖如春馆揉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抖拦。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工升酣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人态罪。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓噩茄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親复颈。 傳聞我的和親對象是個殘疾皇子绩聘,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容