盤一盤 生信技能樹R語言小作業(yè)(初級)

R語言基礎(chǔ)知識的一些檢驗,最好是對照幾本R基礎(chǔ)語法書籍來理解。

全部答案及視頻在:https://github.com/jmzeng1314/R_bilibili

首先做完了周末班工作按傅, 包括軟件安裝以及R包安裝:http://www.bio-info-trainee.com/3727.html

1.打開 Rstudio 告訴我它的工作目錄撰筷。

getwd()

2.新建6個向量茂蚓,基于不同的原子類型胸懈。(重點是字符串,數(shù)值雏赦,邏輯值)

b<-"What's wrong"
aa<-1:10
c<-TRUE

3.告訴我在你打開的rstudio里面 getwd() 代碼運行后返回的是什么劫笙?

當前工作目錄

4.新建一些數(shù)據(jù)結(jié)構(gòu)芙扎,比如矩陣,數(shù)組填大,數(shù)據(jù)框戒洼,列表等(重點是數(shù)據(jù)框,矩陣)

newmatrix<-matrix(1:6, nrow = 2, ncol = 3)
newarray <- array(1:3, c(2,4))
pa1<-c(1,2,3,4)
ga1<-c(5,4,44,12)
pa2<-c(1,2,3,4)
ga2<-c(5,4,44,12)
pa3<-c(1,2,3,4)
ga3<-c(5,4,44,12)
newdata.frame <- data.frame(pa1,ga1,pa2,ga2,pa3,ga3)
newlist <- list(x = cars[,1], y = cars[,2])
newfactor <- factor(letters,ordered=TRUE)

5.在你新建的數(shù)據(jù)框進行切片操作允华,比如首先取第1圈浇,3行, 然后取第4靴寂,6列

newdata.frame[1:3,4:6]

6.使用data函數(shù)來加載R內(nèi)置數(shù)據(jù)集 rivers 描述它磷蜀。并且可以查看更多的R語言內(nèi)置的數(shù)據(jù)集:https://mp.weixin.qq.com/s/dZPbCXccTzuj0KkOL7R31g

data("rivers")

7.下載 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的 RunInfo Table 文件讀入到R里面,了解這個數(shù)據(jù)框百炬,多少列褐隆,每一列都是什么屬性的元素。(參考B站生信小技巧獲取runinfo table) 這是一個單細胞轉(zhuǎn)錄組項目的數(shù)據(jù)剖踊,共768個細胞庶弃,如果你找不到RunInfo Table 文件,可以點擊下載德澈,然后讀入你的R里面也可以歇攻。

SraRunTable <- read.table("http://www.bio-info-trainee.com/tmp/5years/SraRunTable.txt",fill=TRUE,header = T,sep = "\t")
dim(SraRunTable)
class(colnames(SraRunTable))

8.下載 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的樣本信息sample.csv讀入到R里面,了解這個數(shù)據(jù)框梆造,多少列掉伏,每一列都是什么屬性的元素。(參考 https://mp.weixin.qq.com/s/fbHMNXOdwiQX5BAlci8brA 獲取樣本信息sample.csv)如果你實在是找不到樣本信息文件sample.csv澳窑,也可以點擊下載

sample <- read.csv("sample.csv")

9.把前面兩個步驟的兩個表(RunInfo Table 文件供常,樣本信息sample.csv)關(guān)聯(lián)起來摊聋,使用merge函數(shù)。

d=merge(SraRunTable,sample,by.x = 'Sample_Name',by.y = 'Accession')
# 在merge這里堵了很長時間...最終是數(shù)據(jù)源的問題
# by.x = 'Sample_Name',by.y = 'Accession'這里的Sample_Name與Accession必須代表同樣的數(shù)據(jù)栈暇!

基于下午的統(tǒng)計可視化

1.對前面讀取的 RunInfo Table 文件在R里面探索其MBases列麻裁,包括 箱線圖(boxplot)和五分位數(shù)(fivenum),還有頻數(shù)圖(hist)源祈,以及密度圖(density) 煎源。

boxplot(MBases ~ MBytes, data = SraRunTable, col = "lightgray")
?fivenum;fivenum(SraRunTable$MBases)
plot(density(SraRunTable$MBases))
hist(SraRunTable$MBases)
plot(density(SraRunTable$MBases))

2.把前面讀取的樣本信息表格的樣本名字根據(jù)下劃線分割看第3列元素的統(tǒng)計情況。第三列代表該樣本所在的plate

e <- d[,c("MBases","Title")]
plate=unlist(lapply(as.character(e[,2]),function(x){
  # x=e[,2]  
  x
  strsplit(x,'_')[[1]][3]
  
}))
# 試一下去掉as.character是什么效果 考慮為什么 出錯就?一下
table(plate)
boxplot(e[,1]~plate)

3.根據(jù)plate把關(guān)聯(lián)到的 RunInfo Table 信息的MBases列分組檢驗是否有統(tǒng)計學顯著的差異香缺。

t.test(e[,1]~plate)

4.分組繪制箱線圖(boxplot)手销,頻數(shù)圖(hist),以及密度圖(density) 图张。

使用ggplot2把上面的圖進行重新繪制锋拖。

e$plate=plate
library(ggplot2)
colnames(e)
ggplot(e,aes(x=plate,y=MBases))+geom_boxplot()

5.使用ggpubr把上面的圖進行重新繪制诈悍。

library(ggpubr)
p <- ggboxplot(e, x = "plate", y = "MBases",
               color = "plate", palette = "jco",
               add = "jitter")
# Add p-value
p + stat_compare_means(method = 't.test')

6.隨機取384個MBases信息,跟前面的兩個plate的信息組合成新的數(shù)據(jù)框兽埃,第一列是分組侥钳,第二列是MBases,總共是384*3行數(shù)據(jù)柄错。

indexes <- sample (nrow (e), 384)
data <- e [indexes, ]
data2 <- data[,c(3,1,2)]
dim(data2)

很奇怪舷夺,我在typora里寫好之后直接復制到簡書,代碼前面會出現(xiàn)亂碼售貌,先復制到r给猾,再傳遞過來就沒事了。


參考來源:生信技能樹

友情鏈接:

課程分享
生信技能樹全球公益巡講
https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
B站公益74小時生信工程師教學視頻合輯
https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
招學徒:
https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

歡迎關(guān)注公眾號:青島生信菜鳥團

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末趁矾,一起剝皮案震驚了整個濱河市耙册,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毫捣,老刑警劉巖详拙,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔓同,居然都是意外死亡饶辙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門斑粱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弃揽,“玉大人,你說我怎么就攤上這事则北】笪ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵尚揣,是天一觀的道長涌矢。 經(jīng)常有香客問我,道長快骗,這世上最難降的妖魔是什么娜庇? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮方篮,結(jié)果婚禮上名秀,老公的妹妹穿的比我還像新娘。我一直安慰自己藕溅,他們只是感情好匕得,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜈垮,像睡著了一般耗跛。 火紅的嫁衣襯著肌膚如雪裕照。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天调塌,我揣著相機與錄音晋南,去河邊找鬼。 笑死羔砾,一個胖子當著我的面吹牛负间,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姜凄,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼政溃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了态秧?” 一聲冷哼從身側(cè)響起董虱,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎申鱼,沒想到半個月后愤诱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捐友,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年淫半,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匣砖。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡科吭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出猴鲫,到底是詐尸還是另有隱情对人,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布拂共,位于F島的核電站规伐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏匣缘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一鲜棠、第九天 我趴在偏房一處隱蔽的房頂上張望肌厨。 院中可真熱鬧,春花似錦豁陆、人聲如沸柑爸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽表鳍。三九已至馅而,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間譬圣,已是汗流浹背瓮恭。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厘熟,地道東北人屯蹦。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像绳姨,于是被迫代替她去往敵國和親登澜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354