初級10 個題目,盡量根據(jù)參考代碼理解及完成:http://www.bio-info-trainee.com/3793.html
打開以后好像不止10個
-
打開
Rstudio
告訴我它的工作目錄getwd()
-
新建6個向量旦袋,基于不同的
原子類型
锣杂。(重點是字符串玩祟,數(shù)值孽椰,邏輯值)a <- c(1,2,3,4,5,6) b <- c("a","b","c","d") c <- c(T,F,F,T)
-
新建5個其它數(shù)據(jù)結(jié)構(gòu)鹃愤,矩陣搓彻,數(shù)組如绸,數(shù)據(jù)框,列表旭贬,因子(重點是數(shù)據(jù)框怔接,矩陣)
mymatrix <- matrix(1:20, nrow = 5, ncol = 4) myarray <- array(1:24, c(2,3,4)) mydf <- data.frame(PatientID = C("pa01","pa02","pa03"), age = c(22,33,44), exp = c(12,23,34)) mylist <- list(mymatrix, mydf, a, b, c) status <- c("well", "moderate", "poor") myfactor <- factor(status, levels = c("poor", "moderate", "well"))
-
在你新建的數(shù)據(jù)框進(jìn)行切片操作,比如首先取第1稀轨,3行扼脐, 然后取第4,6列
df[c(1,3), ] df[ , c(4,6)]
-
使用data函數(shù)來加載R內(nèi)置數(shù)據(jù)集
rivers
描述它奋刽。并且可以查看更多的R語言內(nèi)置的數(shù)據(jù)集:https://mp.weixin.qq.com/s/dZPbCXccTzuj0KkOL7R31gdata("rivers") class(rivers) str(rivers) length(rivers) summary(rivers) head(rivers); tail(rivers)
-
下載 https://www.ncbi.nlm.nih.gov/sra?term=SRP133642 里面的
RunInfo Table
文件讀入到R里面谎势,了解這個數(shù)據(jù)框,多少列杨名,每一列都是什么屬性的元素脏榆。這一步卡住了一會兒,主要是不知道這個
RunInfo Table
為何物台谍,在哪里下載须喂。要是知道文件名就好了。最開始以為是GSE頁面下的serie.matix
文件坞生,這個文件的格式直接用R讀取,怎么也讀不好掷伙。網(wǎng)上搜到的代碼其實都讀不進(jìn)去,還是用Excel好使任柜。然而,并不是這個文件摔认。。参袱。下載文件的地方
可以從這里進(jìn)來
options(stringsAsFactors = F)
rit = read.table("SraRunTable.txt", sep = "\t", header = T)
dim(rit)
str(rit)
-
下載 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE111229 里面的
樣本信息
讀入到R里面,了解這個數(shù)據(jù)框,多少列抹蚀,每一列都是什么屬性的元素剿牺。我不知道我下載的樣本信息對不對,是不是
GSE111229_series_matrix.txt.gz
文件环壤,如果是的就按照接下來的看正常用
read.table
讀都會有各式各樣的報錯晒来,原因在于這個破表長成這樣(Excel打開):幾種報錯的原因:
- 0 obs. of n variables :這里每一行都有"!",所以
comment.char="!"
以后镐捧,所有行都跳過了潜索。 - line 30 did not have 2 elements :這個惡心的第30行是空的,行列的長度不齊
所以正確的輸入應(yīng)該是這樣:
options(stringsAsFactors = F) dat <- read.table("GSE111229_series_matrix.txt", sep = "\t", header = FALSE, fill = TRUE, # 如果長度不齊懂酱,補(bǔ)齊 skip = 30) # 前面30行沒用的注釋信息略過不讀 str(dat) dim(dat) # 45 obs. of 769 variables
讀入以后我存成txt竹习,用Excel打開看了看,不明白為什么
View(b)
打開會特別慢特別卡列牺。 - 0 obs. of n variables :這里每一行都有"!",所以
這個行列很變態(tài)整陌,要做下一題的話還需要處理一下這個數(shù)據(jù)框,比如轉(zhuǎn)置一下
dat = as.data.frame(t(b))
rownames(dat) <- NULL
colnames(dat) <- dat[1, ]
dat <- dat[2:nrow(dat), ]
-
把兩個表關(guān)聯(lián)起來瞎领,使用merge函數(shù)泌辫。
這兩個表里面相同的列是
rit$Sample_Name
和dat$ID_REF
,都是GSM numberhead(rit$Sample_Name); head(dat$ID_REF) # 先來show一下相同的列的內(nèi)容 c <- merge(rit, dat, by.x = "Sample_Name", by.y = "ID_REF", all.x = T)
-
對前面讀取的
RunInfo Table
文件在R里面探索其MBases列九默,包括 箱線圖(boxplot)和五分位數(shù)(fivenum)震放,還有頻數(shù)圖(hist),以及密度圖(density) 驼修。head(rit$MBases) str(rit$MBases) quantile(rit$MBases) fivenum(rit$MBases) boxplot(rit$MBases) hist(rit$MBases) plot(density(rit$MBases))
把前面讀取的
樣本信息
表格的樣本名字根據(jù)下劃線分割
看第3列元素的統(tǒng)計情況殿遂。第三列代表該樣本所在的plate根據(jù)plate把關(guān)聯(lián)到的
RunInfo Table
信息的MBases列分組檢驗是否有統(tǒng)計學(xué)顯著的差異。分組繪制箱線圖(boxplot)乙各,頻數(shù)圖(hist)墨礁,以及密度圖(density) 。
使用ggplot2把上面的圖進(jìn)行重新繪制耳峦。
使用ggpubr把上面的圖進(jìn)行重新繪制恩静。
隨機(jī)取384個MBases信息,跟前面的兩個plate的信息組合成新的數(shù)據(jù)框蹲坷,第一列是分組驶乾,第二列是MBases,總共是384*3行數(shù)據(jù)冠句。
第10題找不到哪個元素是含有下劃線的轻掩,所以導(dǎo)致后面的題目都沒有辦法做。我又開始懷疑我在第7題樣本信息
這里找到的表是不是對的了懦底。。。聚唐。丐重。