一.認(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遍拙绊。