03-03課后練習

練習2-4

1.將基因名
"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV"
組成一個向量,賦值給x

> x <- c("ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV");x
 [1] "ACTR3B" "ANLN"   "BAG1"   "BCL2"   "BIRC5"  "RAB"    "ABCT"   "ANLN"  
 [9] "BAD"    "BCF"    "BARC7"  "BALV"  
> 

2.用函數(shù)計算向量長度

> length(x)
[1] 12
> 

3.用向量取子集的方法,選出第1,3,5,7,9,11個基因名。

> x[c(1,3,5,7,9,11)]
[1] "ACTR3B" "BAG1"   "BIRC5"  "ABCT"   "BAD"    "BARC7" 
> 

老師答案進階使用seq函數(shù)

seq(1,11,2) #from1 to11 by2
x[seq(1,11,2)]

4.用向量取子集的方法,選出除倒數(shù)第2個以外所有的基因名币励。

> x[-(length(x)-1)]
 [1] "ACTR3B" "ANLN"   "BAG1"   "BCL2"   "BIRC5"  "RAB"    "ABCT"   "ANLN"  
 [9] "BAD"    "BCF"    "BALV"  
> 

5.用向量取子集的方法,選出出在c("ANLN", "BCL2","TP53")中有的基因名慷蠕。

> y <- c("ANLN", "BCL2","TP53")
> x%in%y
 [1] FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE
> x[x%in%y]
[1] "ANLN" "BCL2" "ANLN"
> 

6.修改第6個基因名為"a"并查看是否成功

> x[6] <- "a"
> x
 [1] "ACTR3B" "ANLN"   "BAG1"   "BCL2"   "BIRC5"  "a"      "ABCT"   "ANLN"  
 [9] "BAD"    "BCF"    "BARC7"  "BALV"  
> x[6]
[1] "a"
> 

7.生成10個隨機數(shù): rnorm(n=10,mean=0,sd=18),用向量取子集的方法食呻,篩出其中小于-2的值

> x <- rnorm(n=10,mean=0,sd=18);x
 [1]   2.078207  -8.770633   2.306672 -27.461241  41.366071 -12.094710  -9.263503
 [8]  11.074240  -7.115355  -6.651372
> a=c(-2)
> x[x<a] 
[1]  -8.770633 -27.461241 -12.094710  -9.263503  -7.115355  -6.651372

有趣的是流炕,這里使用x[x<-2] 不行,因為R識別成把2賦值給x了.
老師答案-2前加空格或(-2)

> z = rnorm(n=10,mean=0,sd=18)
> z
 [1]  24.7897450   3.0518530 -20.1894157  29.1759403 -18.3319928 -44.0745443
 [7] -28.1576359   0.5982541   5.8118585   3.7526579
> z[z< -2]
[1] -20.18942 -18.33199 -44.07454 -28.15764
> z[z<(-2)]
[1] -20.18942 -18.33199 -44.07454 -28.15764
> 

思考:如何調整向量里元素的順序搁进?例如根據(jù)下面的x生成BDEAC
x <- c("A","B","C","D","E");x

> x <- c("A","B","C","D","E");x 
[1] "A" "B" "C" "D" "E"
> x[c(2,4,5,1,3)]
[1] "B" "D" "E" "A" "C"
> 

難點--向量匹配排序:match

> x <- c("A","B","C","D","E") 
> y <- c("B","D","E","A","C") 
> match(x,y)   x元素在y中的位置
[1] 4 1 5 2 3
> y[match(x,y)] #根據(jù)x浪感,調整y的順序
[1] "A" "B" "C" "D" "E"
> #[1] "A" "B" "C" "D" "E" 
> x[match(y,x)] #根據(jù)y,調整x的順序
[1] "B" "D" "E" "A" "C"
> #[1] "B" "D" "E" "A" "C"
向量的幾個進階小問題

1.兩個不同類型的向量合并在一起會怎么樣饼问?合并成一個長向量影兽,長度為兩個向量之和,數(shù)據(jù)類型莱革,根據(jù)優(yōu)先級進行轉換峻堰。

> x <- c(1,2,4,5,6)
> y <- c("a","b","d")
> test <- c(x,y)
> test
[1] "1" "2" "4" "5" "6" "a" "b" "d"
> x=c(3,x)
> x=c(x,4)
> x
[1] 3 1 2 4 5 6 4
> 

2.如何將兩個向量合到一起,組成一個長向量盅视?以上代碼

3.如何在向量首/尾/中間某位置增加一個元素捐名?

n=3
x=c(1,3,5,8,6)
x
## [1] 1 3 5 8 6
y=c(x[1:n-1],7,x[n:length(x)])
y
## [1] 1 3 7 5 8 

還可以寫成函數(shù)!

join <- function(x,n,y){
  c(x[1:n-1],y,x[n:length(x)])
}
x=c(1,3,5,8,6)
join(x,3,7)
## [1] 1 3 7 5 8 6

前三個題的中心思想是c()的接收參數(shù)可以是單個元素闹击,也可以是向量镶蹋。其次是向量按照位置索引來取子集。
4.如果向量x和y內容一致但順序不一致,如何按照x的順序排列y贺归?
y[match(x,y)]

https://mp.weixin.qq.com/s/2eJPrT7lz562vX0ij4gfVg
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末淆两,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拂酣,更是在濱河造成了極大的恐慌秋冰,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶熬,死亡現(xiàn)場離奇詭異剑勾,居然都是意外死亡,警方通過查閱死者的電腦和手機赵颅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門虽另,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人性含,你說我怎么就攤上這事洲赵。” “怎么了商蕴?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芝发。 經(jīng)常有香客問我绪商,道長,這世上最難降的妖魔是什么辅鲸? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任格郁,我火速辦了婚禮,結果婚禮上独悴,老公的妹妹穿的比我還像新娘例书。我一直安慰自己,他們只是感情好刻炒,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布决采。 她就那樣靜靜地躺著,像睡著了一般坟奥。 火紅的嫁衣襯著肌膚如雪树瞭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天爱谁,我揣著相機與錄音晒喷,去河邊找鬼。 笑死访敌,一個胖子當著我的面吹牛凉敲,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼爷抓,長吁一口氣:“原來是場噩夢啊……” “哼雨效!你這毒婦竟也來了?” 一聲冷哼從身側響起废赞,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤徽龟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后唉地,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體据悔,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年耘沼,在試婚紗的時候發(fā)現(xiàn)自己被綠了极颓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡群嗤,死狀恐怖菠隆,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情狂秘,我是刑警寧澤骇径,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站者春,受9級特大地震影響破衔,放射性物質發(fā)生泄漏。R本人自食惡果不足惜钱烟,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一晰筛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拴袭,春花似錦读第、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至泰佳,卻和暖如春盼砍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逝她。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工浇坐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人黔宛。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓近刘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子觉渴,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容