2023-02-02

學(xué)習(xí)內(nèi)容

##系統(tǒng)報(bào)錯(cuò)改為英文
Sys.setenv(LANGUAGE = "en")
##禁止轉(zhuǎn)化為因子
options(stringsAsFactors = FALSE)
##清空環(huán)境
rm(list=ls())
###什么是函數(shù)奖唯,什么是r包,為什么加載r包
##安裝r包的幾個(gè)方法
# 1.在CRAN 存儲(chǔ)庫的r包
install.packages("xxx")
# 2.在Bioconductor存儲(chǔ)庫中的r包
if(!requireNamespace("BiocManager",quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("GEOquery")
## 3.在GitHub儲(chǔ)存庫中r包
#先安裝devtools:Tools to Make Developing R Packages Easier
install.packages("devtools")
library(devtools)
install_github("authorName/repositoryName")
## To install ggplot2 from github:
devtools::install_github("tidyverse/ggplot2")
### 加載r包
library(GEOquery)
library(dplyr)
install.packages("tidyverse")
library(tidyverse)
##設(shè)置路徑
getwd()
setwd("F:/Rdata/jiajia/lession1")

####################################################################################################
### 獲取表達(dá)矩陣

#查看函數(shù)的解釋
?getGEO
##下載數(shù)據(jù) getGPL = F 這個(gè)代表不下載平臺(tái)注釋文件胆萧,因?yàn)橛袝r(shí)候網(wǎng)絡(luò)不穩(wěn)定衬吆。后面我們會(huì)在網(wǎng)頁中下載芽腾,然后讀取竹伸。
gset = getGEO('GSE12417', destdir=".",getGPL = F)
gset <- getGEO('GSE12417', destdir=".",getGPL = F)
getGEO('GSE12417', destdir=".",getGPL = F)
##如果無法直接用代碼下載奇唤,而是在網(wǎng)頁端下載好的,可以直接加載如下


#s4對(duì)象    
#s3:matrix 矩陣 
#data.frame() 數(shù)據(jù)框  
#character() 向量字符型 
#list 列表

x=c("zzz","yyy")
y=c("zy","yq")
z1=list(x=c("zzz","yyy"),y=c("zy","yq"))
View(z1)
####r語言中 所有的提取 都是用中括號(hào)

###一種提取按照排列順序
z1[[2]]
x[1]
###按照對(duì)象名稱
z1[["x"]]
class(x)
class(z1)


###打開study這個(gè)文件夾 我們會(huì)發(fā)現(xiàn)平臺(tái)信息文件也下載好了
##保存下載的數(shù)據(jù) 保存為rdata 當(dāng)然也可以保存為rds
save(gset,file = "3.gse12417.rdata")
saveRDS(gset,file = "gse12417.rds")
###在讀取文件之前 先清空環(huán)境
load("3.gse12417.rdata")
readRDS("gse12417.rds")
####查看大的list峭拘,可以用view函數(shù) 也可以直接在環(huán)境中點(diǎn)擊gset
View(gset)
###提取list中的第二個(gè)元素(部分)
z=gset[["GSE12417-GPL96_series_matrix.txt.gz"]]
##當(dāng)然也可以安裝排序位置來提取
e2=gset[[2]]
###查看一下e2的數(shù)據(jù)結(jié)構(gòu)(必須要知道數(shù)據(jù)結(jié)構(gòu)才能知道下一步怎么做)
class(e2)
##結(jié)果中的"ExpressionSet"是S4對(duì)象的人為命名

###查看一下e2對(duì)象的內(nèi)容包含哪些
View(e2)
###提取表達(dá)矩陣
exp=exprs(e2)
class(exp)

##當(dāng)然也可以用環(huán)境中的白色括號(hào)提取
e2@phenoData@data[["geo_accession"]]
#上條代碼只是出現(xiàn)在控制臺(tái)俊庇,沒有提取至環(huán)境變量,如果需要提取到環(huán)境變量鸡挠,需要在上條代碼前面賦值
geo=e2@phenoData@data[["geo_accession"]]
#使用@或者$符號(hào)辉饱,使用哪一個(gè)取決于創(chuàng)造者,所以直接用兩個(gè)嘗試
e2@phenoData@data$title
#下面代碼為原本代碼拣展,不是視頻中的代碼
exp2=e2@assayData[["exprs"]]
phe=e2@phenoData@data



#########################################################################################################
### 整理探針轉(zhuǎn)化文件
#GEO數(shù)據(jù)庫下載平臺(tái)信息彭沼,如本次GSE12417,已下載至文件夾中
#需要先安裝加載此平臺(tái)信息的r包
install.packages("data.table")
library(data.table)
###讀取測(cè)序平臺(tái)信息,為了進(jìn)行探針的轉(zhuǎn)化  這里的探針就是exprSe的行名比如:10344614
###平臺(tái)文件在geo中下載备埃,下載之后要放在指定的路徑下面
###用fread函數(shù)讀取的目的是多線程快速讀取
###列名和行名不能重復(fù)
###data.table = F讓anno最終結(jié)構(gòu)為數(shù)據(jù)框
anno=fread("GPL96-57554.txt",sep = "\t",header = T,data.table = F)
#開始學(xué)習(xí)數(shù)據(jù)框類型
class(anno)
#提取行名
x1=colnames(anno)
x2=rownames(anno)
#anno是數(shù)據(jù)框格式姓惑,提取使用[]
#S3所有對(duì)象提取都用[]译株,向量[],列表[[]]挺益,數(shù)據(jù)框和矩陣[行,列]
#提取第一行第二列
anno[1,2]
#提取第三行所有
anno[3,]
#提取第五列所有并賦值,n1為字符型向量
n1=anno[,5]
#提取第四行所有并賦值乘寒,n2為數(shù)據(jù)框
n2=anno[4,]
#提取兩個(gè)列,兩個(gè)行
n4=anno[,c("ID","Target Description")]
n5=anno[c(1,8),]
#對(duì)某一列提取出來后賦值
anno$ID=123
#重新增加一列并賦值
anno$xyz="abc"
改變第二列列名
colnames(anno)[2]="abc"
#看fread讀取時(shí)望众,data.table=F,不要=T
anno=fread("GPL96-57554.txt",sep = "\t",header = T,data.table = F)
anno5=fread("GPL96-57554.txt",sep = "\t",header = T,data.table = T)
class(anno5)
#header = T意思是:將第一行變成列名
anno=fread("GPL96-57554.txt",sep = "\t",header = T,data.table = F)
anno4=fread("GPL96-57554.txt",sep = "\t",header = F,data.table = F)
#使用read.table讀取會(huì)失敗,因?yàn)閒read可以自動(dòng)去除文件前面不規(guī)則的注釋類文字
anno2=read.table("GPL96-57554.txt",header = T,fill=T)
#讀取txt格式文件伞辛,要加上分割 sep = "\t"烂翰,txt以table鍵進(jìn)行分割
#csv以空格鍵進(jìn)行分割
#建議讀取txt和CSV等文件時(shí),使用fread函數(shù)比較友好

#合并數(shù)據(jù)
#創(chuàng)建數(shù)據(jù)框
d1<- data.frame(x2=c("a","b","c","d"),x1=c(1,3,5,7),stringsAsFactors = FALSE)
d2<- data.frame(y2=c(10,7,12),y1=c("b","c","d"),stringsAsFactors = FALSE)
#合并cbind()和rbind()蚤氏,兩個(gè)函數(shù)是固定列或者行進(jìn)行合并
#對(duì)行合并rbind()
a1=rbind(d1,d2)
b1=cbind(d1,d2)
#上面兩個(gè)函數(shù)報(bào)錯(cuò)甘耿,原因是d1和d2行和列沒有相同的名字
#改一下看看
d11<- data.frame(x1=c("a","b","c"),x2=c(1,3,5),stringsAsFactors = FALSE)
d22<- data.frame(x1=c(10,7,12),x2=c("b","c","d"),stringsAsFactors = FALSE)
a1=rbind(d11,d22)
b1=cbind(d11,d22)
#merge()是需要指定共同的列,相當(dāng)于excel里面的VLOOKUP函數(shù)竿滨,但是excel里面不能批量
d3=merge(x=d1,y=d2,by.x = "x2",by.y = "y1")
?merge
#當(dāng)兩個(gè)數(shù)據(jù)框相同的列都是第一列時(shí)佳恬,可以如下
d4<- data.frame(x3=c("a","b","c","d"),x4=c(1,3,5,7))
d5<- data.frame(y3=c("b","c","d"),y4=c(10,7,12),stringsAsFactors = FALSE)
d6=merge(x=d3,y=d4,by =1)
#load函數(shù)讀取的是rdata數(shù)據(jù)
#fread函數(shù)讀取的是txt或者excel等數(shù)據(jù)

#開始對(duì)anno文件中的Gene信息進(jìn)行合并
#查看anno列名
colnames(anno)
#下面兩個(gè)提取的相同
gene=anno[,c(1,11)]
gene.1=anno[,c("ID","Gene Symbol")]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市于游,隨后出現(xiàn)的幾起案子毁葱,更是在濱河造成了極大的恐慌,老刑警劉巖贰剥,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倾剿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蚌成,警方通過查閱死者的電腦和手機(jī)前痘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來担忧,“玉大人芹缔,你說我怎么就攤上這事『祝” “怎么了乖菱?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蓬网。 經(jīng)常有香客問我窒所,道長,這世上最難降的妖魔是什么帆锋? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任吵取,我火速辦了婚禮,結(jié)果婚禮上锯厢,老公的妹妹穿的比我還像新娘皮官。我一直安慰自己脯倒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布捺氢。 她就那樣靜靜地躺著藻丢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摄乒。 梳的紋絲不亂的頭發(fā)上悠反,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音馍佑,去河邊找鬼斋否。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拭荤,可吹牛的內(nèi)容都是我干的茵臭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼舅世,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼旦委!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雏亚,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤社证,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后评凝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體追葡,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年奕短,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宜肉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡翎碑,死狀恐怖谬返,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情日杈,我是刑警寧澤遣铝,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站莉擒,受9級(jí)特大地震影響酿炸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜涨冀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一填硕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦扁眯、人聲如沸壮莹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽命满。三九已至,卻和暖如春绣版,著一層夾襖步出監(jiān)牢的瞬間周荐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工僵娃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腋妙。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓默怨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骤素。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匙睹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355