生信技能樹 R語言 初級作業(yè)題目(上)

之前都是沒有系統(tǒng)地學習R語言额各,5月26日去西安聽生信技能樹 R語言培訓課,Jimmy大神布置的作業(yè)題吧恃,像我這樣純正小白的初學者虾啦,完全負基礎(chǔ),學了又忘痕寓,忘了又學傲醉,繼續(xù)搬磚,一點點去理解呻率,鞏固基礎(chǔ)硬毕,整理詳細一點的版本,花了不少時間礼仗,方便像我這樣純正小白理解:

  • “#run”之前的代碼是自己想吐咳、參考《R語言實戰(zhàn)》課本和參考生信技能給的作業(yè)參考代碼,“#run”之后的代碼是運行結(jié)果藐守。

  • “#”后的內(nèi)容在RStudio里被忽略挪丢,為注視內(nèi)容

  • 1 . 打開 Rstudio 告訴我它的工作目錄
    Rstudio安裝后,它默認工作路徑一般是Rstudio的安裝主目錄卢厂,如我使用Mac系統(tǒng)乾蓬,它默認的工作目錄是"/Users/chenjiangshu"。如果使用windows系統(tǒng)慎恒,它在工作目錄默認在安裝路徑下任内。

    1. 新建6個向量,基于不同的原子類型融柬。(重點是字符串,數(shù)值粒氧,邏輯值)
a1 <- c("good morning")#字符串向量
a1
a2 <- c(1,5,8,16,21,25)#數(shù)值型向量
a2
a3 <- c("a","b","c","d","e","f")#字符型向量
a3
a4 <- c("a","b","c",1,2,3)#數(shù)值和字符混合越除,但calss默認是字符型
a4
a5 <- c(T,F,T,T,F,F)#邏輯值向量
a5
a6 <- c(1+0i)#復數(shù)向量
a6
#run:
> a1 <- c("good morning")#字符串向量
> a1
[1] "good morning"
> a2 <- c(1,5,8,16,21,25)#數(shù)值型向量
> a2
[1]  1  5  8 16 21 25
> a3 <- c("a","b","c","d","e","f")#字符型向量
> a3
[1] "a" "b" "c" "d" "e" "f"
> a4 <- c("a","b","c",1,2,3)#數(shù)值和字符混合,但calss默認是字符型
> a4
[1] "a" "b" "c" "1" "2" "3"
> a5 <- c(T,F,T,T,F,F)#邏輯值向量
> a5
[1]  TRUE FALSE  TRUE  TRUE FALSE FALSE
> a6 <- c(1+0i)#復數(shù)向量
> a6
[1] 1+0i
    1. 告訴我在你打開的rstudio里面 getwd() 代碼運行后返回的是什么外盯?
      打開RStudio在里面輸入 getwd() 代碼運行后返回的是操作的當前的工作目錄摘盆,運行g(shù)etwd() 代碼相當于查看當前工作目錄。


      R 第3題.png
    1. 新建一些數(shù)據(jù)結(jié)構(gòu)饱苟,比如矩陣孩擂,數(shù)組,數(shù)據(jù)框箱熬,列表等重點是數(shù)據(jù)框类垦,矩陣)
  • 4.1 用matrix()函數(shù)創(chuàng)建一個5行4列的矩陣

y <- matrix(1:20,nrow=5,ncol=4)
y
#run
> y <- matrix(1:20,nrow=5,ncol=4)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20
  • 4.2 用array()函數(shù)創(chuàng)建一個數(shù)組
dim1 <- c("A1","A2")
dim2 <- c("B1","B2","B3")
dim3 <- c("C1","C2","C3","C4")
z <- array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))
z
#run
> dim1 <- c("A1","A2")
> dim2 <- c("B1","B2","B3")
> dim3 <- c("C1","C2","C3","C4")
> z <- array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))
> z
, , C1

   B1 B2 B3
A1  1  3  5
A2  2  4  6

, , C2

   B1 B2 B3
A1  7  9 11
A2  8 10 12

, , C3

   B1 B2 B3
A1 13 15 17
A2 14 16 18

, , C4

   B1 B2 B3
A1 19 21 23
A2 20 22 24

數(shù)組是矩陣的一個自然推廣狈邑。

  • 4.3 用data.frame()函數(shù)創(chuàng)建一個數(shù)據(jù)框
patientID <- c(1,2,3,4)
age <- c(25,34,28,52)
diabetes <- c("Type1","Type1","Type2","Type1")
status <- c("Poor","Improved","Excellent","Poor")
patientdata <- data.frame(patientID,age,diabetes,status)
patientdata
#run
> patientID <- c(1,2,3,4)
> age <- c(25,34,28,52)
> diabetes <- c("Type1","Type1","Type2","Type1")
> status <- c("Poor","Improved","Excellent","Poor")
> patientdata <- data.frame(patientID,age,diabetes,status)
> patientdata
  patientID age diabetes    status
1         1  25    Type1      Poor
2         2  34    Type1  Improved
3         3  28    Type2 Excellent
4         4  52    Type1      Poor

數(shù)據(jù)框不同的列可包含數(shù)值型,字符型的數(shù)據(jù)

  • 4.4 用list()函數(shù)創(chuàng)建一個列表
g <- "My First List"
h <- c(25,26,18,39)
j <- matrix(1:10,nrow = 5)
k <- c("one","two","three")
mylist <- list(title=g,ages=h,j,k)
mylist
#run
> g <- "My First List"
> h <- c(25,26,18,39)
> j <- matrix(1:10,nrow = 5)
> k <- c("one","two","three")
> mylist <- list(title=g,ages=h,j,k)
> mylist
$title
[1] "My First List"

$ages
[1] 25 26 18 39

[[3]]
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

[[4]]
[1] "one"   "two"   "three"

列表可包含幾個向量蚤认,矩陣米苹,數(shù)據(jù)框,甚至組合的列表烙懦。

    1. 在你新建的數(shù)據(jù)框進行切片操作驱入,比如首先取第1,3行氯析, 然后取第4亏较,6列
      首先構(gòu)建的數(shù)據(jù)框至少有6列,3行掩缓,創(chuàng)建一個4行雪情,6列的數(shù)據(jù)框:
patientID <- c(1,2,3,4)
age <- c(25,34,28,52)
diabetes <- c("Type1","Type1","Type2","Type1")
status <- c("Poor","Improved","Excellent","Poor")
gender <- c("male","female","female","male")
incomes <- c("8k","12k","4.5k","7k")
patientdata <- data.frame(patientID,age,diabetes,status,gender,income)
patientdata
patientdata[c(1,3),]
patientdata[,c(4,6)]
patientdata[c(1,3),c(4,6)]
#run
> patientID <- c(1,2,3,4)
> age <- c(25,34,28,52)
> diabetes <- c("Type1","Type1","Type2","Type1")
> status <- c("Poor","Improved","Excellent","Poor")
> gender <- c("male","female","female","male")
> income <- c("8k","12k","4.5k","7k")
> patientdata <- data.frame(patientID,age,diabetes,status,gender,income)
> patientdata
  patientID age diabetes    status gender income
1         1  25    Type1      Poor   male     8k
2         2  34    Type1  Improved female    12k
3         3  28    Type2 Excellent female   4.5k
4         4  52    Type1      Poor   male     7k
> patientdata[c(1,3),]
  patientID age diabetes    status gender income
1         1  25    Type1      Poor   male     8k
3         3  28    Type2 Excellent female   4.5k
> patientdata[,c(4,6)]
     status income
1      Poor     8k
2  Improved    12k
3 Excellent   4.5k
4      Poor     7k
> patientdata[c(1,3),c(4,6)]
     status income
1      Poor     8k
3 Excellent   4.5k
data()
rivers#北美主要河流及長度你辣,
head(rivers)
tail(rivers)
length(rivers)#rivers有多少對象元素
str(rivers)#查看河流的結(jié)構(gòu)
summary(rivers)#獲取描述性統(tǒng)計量(最小值/最大值/四分位數(shù)/數(shù)值型變量/因子向量/邏輯值向量
#run
> head(rivers)
[1] 735 320 325 392 524 450
> tail(rivers)
[1]  500  720  270  430  671 1770
> length(rivers)#rivers有多少對象元素
[1] 141
> str(rivers)#查看河流的結(jié)構(gòu)
 num [1:141] 735 320 325 392 524 ...
> summary(rivers)#獲取描述性統(tǒng)計量(最小值/最大值/四分位數(shù)/數(shù)值型變量/因子向量/邏輯值向量)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  135.0   310.0   425.0   591.2   680.0  3710.0 

"head"和"tail"一般默認讀前6行和后6行巡通。

    1. 下載 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))
#run
> SraRunTable <- read.table("http://www.bio-info-trainee.com/tmp/5years/SraRunTable.txt",fill=TRUE,header = T,sep = "\t")
> dim(SraRunTable)
[1] 768  31
> class(colnames(SraRunTable))
[1] "character"

768行,31列饭庞,元素為字符型戒悠。

sample <-read.csv("sample.csv")
colnames(sample)
#run
> sample <-read.csv("sample.csv")
> colnames(sample)
 [1] "Accession"           "Title"               "Sample.Type"         "Taxonomy"           
 [5] "Channels"            "Platform"            "Series"              "Supplementary.Types"
 [9] "Supplementary.Links" "SRA.Accession"       "Contact"             "Release.Date" 
    1. 把前面兩個步驟的兩個表(RunInfo Table 文件,樣本信息sample.csv)關(guān)聯(lián)起來幅骄,使用merge函數(shù)。
SraRunTable <- read.table("http://www.bio-info-trainee.com/tmp/5years/SraRunTable.txt",fill=TRUE,header = T,sep = "\t")
sample <-read.csv("sample.csv")
m=merge(SraRunTable,sample,by.x = 'Sample_Name',by.y = 'Accession')
str(m)
#run
> str(m)
'data.frame':   768 obs. of  42 variables

合并后有768個對象本今,42個變量

課程分享

生信技能樹全球公益巡講

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拆座,一起剝皮案震驚了整個濱河市主巍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌挪凑,老刑警劉巖孕索,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異躏碳,居然都是意外死亡搞旭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門菇绵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肄渗,“玉大人,你說我怎么就攤上這事咬最◆岬眨” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵永乌,是天一觀的道長惑申。 經(jīng)常有香客問我,道長翅雏,這世上最難降的妖魔是什么圈驼? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮望几,結(jié)果婚禮上绩脆,老公的妹妹穿的比我還像新娘。我一直安慰自己橄妆,他們只是感情好衙伶,可當我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著害碾,像睡著了一般矢劲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慌随,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天芬沉,我揣著相機與錄音,去河邊找鬼阁猜。 笑死丸逸,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的剃袍。 我是一名探鬼主播黄刚,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼民效!你這毒婦竟也來了憔维?” 一聲冷哼從身側(cè)響起涛救,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎业扒,沒想到半個月后检吆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡程储,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年蹭沛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片章鲤。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡摊灭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咏窿,到底是詐尸還是另有隱情斟或,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布集嵌,位于F島的核電站萝挤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏根欧。R本人自食惡果不足惜怜珍,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凤粗。 院中可真熱鬧酥泛,春花似錦、人聲如沸嫌拣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽异逐。三九已至捶索,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灰瞻,已是汗流浹背腥例。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酝润,地道東北人燎竖。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像要销,于是被迫代替她去往敵國和親构回。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,455評論 2 359

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