DAY5 生信入門-文件讀寫

一.認(rèn)識csv格式

win10后綴不顯示的解決辦法:查看瑰枫,文件擴(kuò)展名。

csv打開方式

1.默認(rèn)excel
2.可用記事本打開
3.sublime(適用于文件)
4.R語言讀取 讀進(jìn)R語言,就是個數(shù)據(jù)框,可賦值毕莱,變量名與文件名無必然聯(lián)系。

test = read.csv("ex3.csv")

表格文件讀入到R語言里夺克,就是個數(shù)據(jù)框。對數(shù)據(jù)框進(jìn)行的修改不會同步到表格文件嚎朽。如果想保存铺纽,另存為(save as)新的文件。

二.認(rèn)識分隔符

常見分隔符:逗號 空格 制表符 (\t)(Tab鍵)
CSV = Comma Separated Values 逗號分隔值文件哟忍,CSV文件的約定俗成分隔符是逗號
TSV = Tab Separated Values 制表符分隔值文件

  • 后綴名沒有意義狡门,只是人為定義的格式后綴陷寝,約定俗成。在windows電腦上可以更好地綁定打開該文件的軟件其馏。
  • 本質(zhì)都是純文本凤跑。不論后綴是什么,都可以用記事本打開叛复。

三.將表格文件讀入R語言仔引,成為數(shù)據(jù)框

read.csv() #通常讀取CSV格式
read.table() #通常讀取txt格式

讀取完后哪里不對改哪里
直接讀取如果失敗,就需要指定一些參數(shù)
讀xlsx文件褐奥,不是純文本:
1.把xlsx文件另存為csv
2.用專門讀xlsx文件的函數(shù)讀取

四.將數(shù)據(jù)框?qū)С隹г牛蔀楸砀裎募?/h1>

導(dǎo)出

讀取-編輯修改-導(dǎo)出 最好不要覆蓋原文件

五.R特有的數(shù)據(jù)格式:Rdata

  • 是R語言特有的數(shù)據(jù)存儲格式,無法用其他軟件打開
  • 保存的是變量抖僵,不是表格文件鲤看,所以不涉及賦值
save()保存-load()加載 
save(test,file= "example.Rdata")  #這里的file特殊缘揪,不可省略的形式參數(shù)
load( "example.Rdata") 
錯誤:x=load("example.Rdata")耍群,不能賦值,否則輸入x找筝,只能出現(xiàn)名字蹈垢,沒有內(nèi)容。

project組織形式
腳本( .R)
數(shù)據(jù)( .Rdata)用save命令生成的
表格( .csv /.txt)


以.開頭的文件是默認(rèn)生成的袖裕。
.RData:切換Rproj時保存選肯定曹抬,生成的。生成自動急鳄,加載自動谤民,不需要操作。
常見報錯:找不到文件
原因:
1.文件沒有存放于工作目錄下(Rprojecct)
2.拼寫錯誤 (用tab自動補(bǔ)齊)
默認(rèn)參數(shù)不適用于你當(dāng)前讀取的文件疾宏,也會報錯

寫括號张足,引號,tab自動補(bǔ)齊文件名坎藐。

check.names为牍, comment.char,header 岩馍,row.names四個參數(shù)基本夠用碉咆。
#文件讀寫部分代碼
#1.讀取ex1.txt
ex1 <- read.table("ex1.txt",header = T)
#2.讀取ex2_B cell receptor signaling pathway.csv
ex2 <- read.csv("ex2_B cell receptor signaling pathway.csv",
                row.names = 1,
                check.names = F)
#如果不加參數(shù),R中預(yù)覽視圖與記事本數(shù)據(jù)比較蛀恩,出現(xiàn)3個問題
1.第一行一列多x    x只為占位疫铜,row.names = 1,第1列被正確識別為行名双谆,
2.TCGA-變. 因為減號屬于特殊字符壳咕,默認(rèn)對列名檢查
3.保留成6位小數(shù)励稳,10.9608849032505變成了10.960885
#3.讀取GSE32575_series_matrix.txt
gse <- read.table("GSE32575_series_matrix.txt",
                    comment.char = "!",#!開頭的行都是注釋行囱井,讀取的時候跳過去驹尼。
                    header = T,#這個文件有列名,把第1行設(shè)置為列名
                    row.names = 1)#文件第1列是行名庞呕,把第1列設(shè)置為行名
#如果不加參數(shù)新翎,報錯。
#4.描述gse的屬性
dim(gse)
colnames(gse)
rownames(gse)
class(gse)
#5.將gse導(dǎo)出為txt住练。
write.table(gse,file = "z.txt") 
#導(dǎo)出的是什么只由write.table函數(shù)決定地啰,只由動詞決定,跟后綴無關(guān)讲逛。
write.table(gse,file = "gse.csv")導(dǎo)出的不是csv文件
write.table(gse,file = "gse.csv",sep = ",") #這樣可以導(dǎo)出為csv文件
#6.將gse導(dǎo)出為csv文件
write.csv(gse,file = "zz.csv")
#7.將gse保存為Rdata并加載亏吝。
save(gse,file = "ex.Rdata")
rm(list = ls())
load(file = "ex.Rdata")
錯誤操作:save(gse,file = "gse.csv") excel打開是亂碼,要用load讀取盏混。

#練習(xí)6:1.讀取complete_set.txt(已保存在工作目錄)
x=read.table('complete_set.txt',header = T)
# 2.查看有多少行蔚鸥、多少列
dim(x)
# 3.獲取行名和列名
rownames(x)
colnames(x)
# 4.導(dǎo)出為csv格式
write.csv(x,file = "x.csv")
# 5.保存為Rdata,再加載它
save(x,file="x.Rdata")
# 6.加載class.Rdata,查看數(shù)據(jù)類型
load("class.Rdata")
class(y) #class矩陣只能告訴數(shù)據(jù)結(jié)構(gòu)矩陣许赃,不能告訴數(shù)據(jù)類型
> str(y) #str()函數(shù)來查看這個數(shù)據(jù)框當(dāng)中有哪些變量止喷,以及變量的類型
 chr [1:6, 1:7] "40" "20" "51" "46" "38" "49" "15" "45" "12" "11" "12" ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:6] "GSM1" "GSM2" "GSM3" "GSM4" ...
  ..$ : chr [1:7] "gene1" "gene2" "gene3" "gene4" ...
#查看矩陣的一行,一列混聊,一個格子的數(shù)據(jù)類型弹谁,就相當(dāng)于查看矩陣的數(shù)據(jù)類型。
#class(y) 只能輸出數(shù)據(jù)結(jié)構(gòu)是矩陣句喜,classy[,1]或classy[1,1]才能看出數(shù)據(jù)類型是字符
#怎么求字符型矩陣的平均值预愤。
把前6列轉(zhuǎn)換成數(shù)值型(apply函數(shù)),再求
1.字符型矩陣怎樣轉(zhuǎn)換成數(shù)值型矩陣咳胃。
2.矩陣怎樣取子集
> y[,1]
GSM1 GSM2 GSM3 GSM4 GSM5 GSM6 
"40" "20" "51" "46" "38" "49" 
> as.numeric(y[,1])
[1] 40 20 51 46 38 49

高階數(shù)據(jù)讀取指南
http://www.reibang.com/p/4ea320c0dcc6
R語言能讀取的文件格式

R語言能讀取的文件格式

用于讀取/導(dǎo)出文件的R包
用于讀取/導(dǎo)出文件的R包

小潔老師的小技巧分享

沙拉查詞植康,
印象筆記
Scholarscope
R for data science 英文免費版

了解一個新的東西:看5本書,或把一本書看5遍拙绊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末向图,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子标沪,更是在濱河造成了極大的恐慌榄攀,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件金句,死亡現(xiàn)場離奇詭異檩赢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門贞瞒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來偶房,“玉大人,你說我怎么就攤上這事军浆∽匮螅” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵乒融,是天一觀的道長掰盘。 經(jīng)常有香客問我,道長赞季,這世上最難降的妖魔是什么愧捕? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮申钩,結(jié)果婚禮上次绘,老公的妹妹穿的比我還像新娘。我一直安慰自己撒遣,他們只是感情好邮偎,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愉舔,像睡著了一般钢猛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轩缤,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機(jī)與錄音贩绕,去河邊找鬼火的。 笑死,一個胖子當(dāng)著我的面吹牛淑倾,可吹牛的內(nèi)容都是我干的馏鹤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼娇哆,長吁一口氣:“原來是場噩夢啊……” “哼湃累!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碍讨,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤治力,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后勃黍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宵统,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年覆获,在試婚紗的時候發(fā)現(xiàn)自己被綠了马澈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓢省。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖痊班,靈堂內(nèi)的尸體忽然破棺而出勤婚,到底是詐尸還是另有隱情,我是刑警寧澤涤伐,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布蛔六,位于F島的核電站,受9級特大地震影響废亭,放射性物質(zhì)發(fā)生泄漏国章。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一豆村、第九天 我趴在偏房一處隱蔽的房頂上張望液兽。 院中可真熱鬧,春花似錦掌动、人聲如沸四啰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柑晒。三九已至,卻和暖如春眷射,著一層夾襖步出監(jiān)牢的瞬間匙赞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工妖碉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留涌庭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓欧宜,卻偏偏與公主長得像坐榆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子冗茸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

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