GEO數(shù)據(jù)挖掘--去掉重復基因

> rm(list = ls()) 
> load(file = "step2output.Rdata")
> #查看右側(cè)變量
> 
> #差異分析狈茉,用limma包來做
> #需要表達矩陣和Group,不需要改
> library(limma)
Warning message:
程輯包‘limma’是用R版本4.0.3 來建造的 
> design=model.matrix(~Group)
> fit=lmFit(exp,design)
> fit=eBayes(fit)#貝葉斯檢驗
> deg=topTable(fit,coef=2,number = Inf)
> dim(deg)
[1] 54675     6
> head(deg)
                logFC   AveExpr         t      P.Value    adj.P.Val        B
224563_at   -3.419608 10.462003 -16.58978 4.947714e-14 2.358899e-09 21.39728
208629_s_at -1.633518 11.204696 -16.14895 8.628803e-14 2.358899e-09 20.92048
212417_at   -1.810946  8.760968 -15.16339 3.139295e-13 4.882577e-09 19.79803
201861_s_at -1.713884 11.965832 -15.06767 3.572073e-13 4.882577e-09 19.68466
208325_s_at -1.840898  9.321510 -13.60230 2.819698e-12 3.083340e-08 17.84515
203479_s_at -2.274611  7.651265 -13.43343 3.618635e-12 3.297481e-08 17.61994
> identical(rownames(deg),rownames(exp))#已按照p值列排序 不同了
[1] FALSE
> head(rownames(deg))
[1] "224563_at"   "208629_s_at" "212417_at"   "201861_s_at" "208325_s_at" "203479_s_at"
> head(rownames(exp))
[1] "1007_s_at" "1053_at"   "117_at"    "121_at"    "1255_g_at" "1294_at"  
> 
> #為deg數(shù)據(jù)框添加幾列
> #1.加probe_id列,把行名變成一列
> library(dplyr)

載入程輯包:‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

Warning message:
程輯包‘dplyr’是用R版本4.0.3 來建造的 
> deg <- mutate(deg,probe_id=rownames(deg))
> head(deg)
      logFC   AveExpr         t      P.Value    adj.P.Val        B    probe_id
1 -3.419608 10.462003 -16.58978 4.947714e-14 2.358899e-09 21.39728   224563_at
2 -1.633518 11.204696 -16.14895 8.628803e-14 2.358899e-09 20.92048 208629_s_at
3 -1.810946  8.760968 -15.16339 3.139295e-13 4.882577e-09 19.79803   212417_at
4 -1.713884 11.965832 -15.06767 3.572073e-13 4.882577e-09 19.68466 201861_s_at
5 -1.840898  9.321510 -13.60230 2.819698e-12 3.083340e-08 17.84515 208325_s_at
6 -2.274611  7.651265 -13.43343 3.618635e-12 3.297481e-08 17.61994 203479_s_at
> #2.加上探針注釋
> #查看
> dim(ids)
[1] 41905     2
> head(ids)
   probe_id symbol
1   1053_at   RFC2
2    117_at  HSPA6
3    121_at   PAX8
4 1255_g_at GUCA1A
5   1316_at   THRA
6   1320_at PTPN21
> table(!duplicated(ids$probe_id))#無重復的    第一列probe_id

 TRUE 
41905 
> table(!duplicated(ids$symbol))#無重復的   第二列 symbol

FALSE  TRUE 
21744 20161 

去重

按symbol列去重肿孵,常見標準有3個:最大值/平均值/隨機去重

方法1.隨機去重

> ids = ids[!duplicated(ids$symbol),]#誰排第一個就取誰
> 
> deg <- inner_join(deg,ids,by="probe_id")#去交集
> head(deg)
      logFC   AveExpr         t      P.Value    adj.P.Val        B    probe_id  symbol
1 -1.633518 11.204696 -16.14895 8.628803e-14 2.358899e-09 20.92048 208629_s_at   HADHA
2 -1.713884 11.965832 -15.06767 3.572073e-13 4.882577e-09 19.68466 201861_s_at LRRFIP1
3 -2.274611  7.651265 -13.43343 3.618635e-12 3.297481e-08 17.61994 203479_s_at   OTUD4
4 -1.935657  8.628444 -13.04331 6.501205e-12 3.554534e-08 17.08858   203391_at   FKBP2
5 -1.893808  8.896532 -12.38173 1.812689e-11 6.607251e-08 16.15073   205457_at   ILRUN
6 -1.691681 10.302132 -12.00890 3.290947e-11 1.124578e-07 15.60094 201392_s_at   IGF2R
> nrow(deg)
[1] 20161

方法2.求平均值

> #rm(list = ls())
> #load("step2output.Rdata")
> exp3 = exp[ids$probe_id,]
> exp3[1:4,1:4]
          GSM1366348 GSM1366349 GSM1366350 GSM1366351
1053_at     8.932805   8.679543   8.625015   8.637085
117_at      9.383421   8.605809   9.462774   9.898573
121_at      7.916751   8.500635   8.258467   8.553656
1255_g_at   5.085221   2.414033   1.718570   4.311794
> # 有重復的基因,求平均值
> s = unique(ids$symbol[duplicated(ids$symbol)]);length(s)
[1] 10753
> exp4 = sapply(s, function(i){
+   colMeans(exp3[ids$symbol==i,])
+ })
> dim(exp4)
[1]    22 10753
> exp4 = t(exp4)
> dim(exp4)
[1] 10753    22
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市灾茁,隨后出現(xiàn)的幾起案子牧抽,更是在濱河造成了極大的恐慌,老刑警劉巖夏块,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疏咐,死亡現(xiàn)場離奇詭異,居然都是意外死亡脐供,警方通過查閱死者的電腦和手機浑塞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來政己,“玉大人酌壕,你說我怎么就攤上這事。” “怎么了卵牍?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵果港,是天一觀的道長。 經(jīng)常有香客問我糊昙,道長辛掠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任释牺,我火速辦了婚禮萝衩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘没咙。我一直安慰自己欠气,他們只是感情好,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布镜撩。 她就那樣靜靜地躺著预柒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袁梗。 梳的紋絲不亂的頭發(fā)上宜鸯,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音遮怜,去河邊找鬼淋袖。 笑死,一個胖子當著我的面吹牛锯梁,可吹牛的內(nèi)容都是我干的即碗。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼陌凳,長吁一口氣:“原來是場噩夢啊……” “哼剥懒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起合敦,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤初橘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后充岛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體保檐,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年崔梗,在試婚紗的時候發(fā)現(xiàn)自己被綠了夜只。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒜魄,死狀恐怖扔亥,靈堂內(nèi)的尸體忽然破棺而出爪膊,到底是詐尸還是另有隱情,我是刑警寧澤砸王,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布推盛,位于F島的核電站,受9級特大地震影響谦铃,放射性物質(zhì)發(fā)生泄漏耘成。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一驹闰、第九天 我趴在偏房一處隱蔽的房頂上張望瘪菌。 院中可真熱鬧,春花似錦嘹朗、人聲如沸师妙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽默穴。三九已至,卻和暖如春褪秀,著一層夾襖步出監(jiān)牢的瞬間蓄诽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工媒吗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仑氛,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓闸英,卻偏偏與公主長得像锯岖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子甫何,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

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