用 R 中 diff() 函數(shù)和 lag() 函數(shù)求每個基因中相鄰位點間的距離

圖床放在 github, 有時候看不到圖沒關(guān)系,運行一遍就行了沫浆。(好吧我兩個都放,簡書自己的也放一個滚秩。)
前幾天師兄問我一個小問題专执,說有一堆基因,每個基因上又不同的位點郁油,想看下每個基因?qū)?yīng)的后一個位點與前面位點的距離本股。聽起來有點 斐波那契數(shù)列 的味道,只是這里是求位點間的距離桐腌。按照基因分組拄显,對位置排序,然后后面的位置減去前面的位置案站,說這么多好像沒有一個圖來的實際躬审。

image

簡書圖床。蟆盐。

emm, 既然需求說清楚了承边,那就搞起來。

數(shù)據(jù)長這樣

Proteinaccession    Position
A0A0N7KCG8  92
A0A0N7KCG8  97
A0A0N7KCG8  138
A0A0N7KCG8  261
A0A0N7KD63  16
A0A0N7KD71  191
A0A0N7KDI2  14
A0A0N7KEK0  86
A0A0N7KEL2  112
A0A0N7KEN1  498
A0A0N7KEN1  513
A0A0N7KFI2  241
A0A0N7KFL5  11
A0A0N7KG02  356
A0A0N7KGS3  137
A0A0N7KH16  81
A0A0N7KH54  148
A0A0N7KH54  184
A0A0N7KI17  359
A0A0N7KI20  77
A0A0N7KI20  224
A0A0N7KI20  282
A0A0N7KIR0  18
A0A0N7KIR1  104
A0A0N7KIR1  285
A0A0N7KJ67  81
A0A0N7KJB1  342
A0A0N7KJF4  78
A0A0N7KK10  235
A0A0N7KK10  256
A0A0N7KK10  279
A0A0N7KK90  387
A0A0N7KKI3  21
A0A0N7KKT9  50
A0A0N7KLH2  307
A0A0N7KLN6  9
A0A0N7KLY1  1033
A0A0N7KMN9  220

R 中進行操作

  • 這里我們只采用兩種方法石挂,當然方法是無窮無盡的博助。分別是利用 lag() 函數(shù)和 diff() 函數(shù)
  • 只有一個位點的基因這里不做考慮,所以在分析前就用 n() > 1 過濾
# copy 上面的示例數(shù)據(jù)痹愚,然后直接從剪切面板導(dǎo)入數(shù)據(jù)富岳,不知道啥操作,自行百度一下就知道了拯腮。
data <- read.table(file = "clipboard", header = T, sep = "\t")

library(tidyverse)

# 第一種方法使用 lag() 函數(shù)窖式,簡單明了
data1 <- data %>%
  group_by(Proteinaccession) %>%
  filter(n() > 1) %>% # 過濾掉只有一個位點的基因
  mutate(end = lag(Position),
         distance = Position - lag(Position)) %>%
  ungroup() 
  
# 第二種方法與 lag() 函數(shù)類似
data2 <- data %>%
  group_by(Proteinaccession) %>%
  filter(n() > 1) %>% # 過濾掉只有一個位點的基因
  mutate(end = c(NA, Position[-n()]),
         distance = c(NA, diff(Position))) %>%
  ungroup() 

最后得到的結(jié)果就是這樣的。


image

簡書圖床疾瓮。脖镀。

最后安利一些函數(shù)大家了解一下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末褪猛,一起剝皮案震驚了整個濱河市网杆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伊滋,老刑警劉巖碳却,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笑旺,居然都是意外死亡昼浦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門筒主,熙熙樓的掌柜王于貴愁眉苦臉地迎上來关噪,“玉大人,你說我怎么就攤上這事物舒∩矗” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵冠胯,是天一觀的道長火诸。 經(jīng)常有香客問我,道長荠察,這世上最難降的妖魔是什么置蜀? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮悉盆,結(jié)果婚禮上盯荤,老公的妹妹穿的比我還像新娘。我一直安慰自己焕盟,他們只是感情好秋秤,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脚翘,像睡著了一般灼卢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上来农,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天鞋真,我揣著相機與錄音,去河邊找鬼沃于。 笑死涩咖,一個胖子當著我的面吹牛海诲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檩互,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼特幔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盾似?” 一聲冷哼從身側(cè)響起敬辣,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎零院,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體村刨,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡告抄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嵌牺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片打洼。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖逆粹,靈堂內(nèi)的尸體忽然破棺而出募疮,到底是詐尸還是另有隱情,我是刑警寧澤僻弹,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布阿浓,位于F島的核電站,受9級特大地震影響蹋绽,放射性物質(zhì)發(fā)生泄漏芭毙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一卸耘、第九天 我趴在偏房一處隱蔽的房頂上張望退敦。 院中可真熱鬧,春花似錦蚣抗、人聲如沸侈百。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钝域。三九已至,卻和暖如春两蟀,著一層夾襖步出監(jiān)牢的瞬間网梢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工赂毯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留战虏,地道東北人拣宰。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像烦感,于是被迫代替她去往敵國和親巡社。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359