亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > R > 正文

R語言中向量的使用

2023-05-01 13:45:48
字體:
來源:轉載
供稿:網(wǎng)友

在《R語言的數(shù)據(jù)對象》一文中提到,R語言的數(shù)據(jù)對象從結構角度劃分,可以分為向量、數(shù)組、矩陣、因子、列表和數(shù)據(jù)框6種。本文首先探討一下R語言中向量的使用方法。

在R語言中,向量(Vector)是相同基本類型元素組成的序列,相當于一維數(shù)組。

向量的元素可以是數(shù)值型、字符型、邏輯值型和復數(shù)型,對應分別稱為數(shù)值型向量、字符串型向量、邏輯型向量和復數(shù)型向量。

向量中可以包含一個元素,也可以包含多個元素。

同一個向量中的數(shù)據(jù)類型應該相同。

1、向量的創(chuàng)建

(1)直接創(chuàng)建

x1<-1:10  #輸出:[1] 1 2 3 4 5 6 7 8 9 10

x2<-4.3  #只包含一個值的向量

x3<-TRUE #邏輯型向量,注意在R中,TRUE和FALSE必須大寫

x4 <- "I Love China"   #字符串型向量

在R語言中,<-表示賦值,即右側的值賦給左側的變量。在R語言中,->的寫法也是正確的,即把左側的賦給右側的變量。但等號=不是R語言的標準語法,在有些情況下可能會出現(xiàn)問題,不建議使用。

在R語言中#是注釋符,即#后面的內(nèi)容是注釋的內(nèi)容,是對該行內(nèi)容的一個解釋。

本部分在Windows R3.4.1中的執(zhí)行情況見下圖:

R語言中向量的創(chuàng)建

(2)使用c()函數(shù)創(chuàng)建

使用c()函數(shù)可以創(chuàng)建多個值的向量

v1 <- c(1,3,4,9,10)   #輸出1 3 4 9 10

v1 <- c(1:10)   #創(chuàng)建1到10的向量  輸出:1 2 3 4 5 6 7 8 9 10

v2<- c("Male","Female", "Female", "Male")   #字符串型向量

v3<- c(TRUE,FALSE,FALSE,TRUE)   #邏輯型向量

v4 <- c() #一個不包含任何值的向量 輸出NULL

在R語言中,c()函數(shù)可以有任意多個參數(shù)。

本部分的執(zhí)行情況見下圖:

R語言中使用c()函數(shù)創(chuàng)建向量

(3)使用seq函數(shù)生成等差序列的向量

seq函數(shù)的原型如下:

seq(from=1,to=1,by=((to-from)/(length.out - 1)),length.out = NULL,along.with = NULL,...)

其中,from是首項,默認為1;to是末項,默認為1;by是步長或等差增量,可以為負數(shù);length.out是向量的長度;along.with:用于指明該向量與另外一個向量的長度相同,along.with后應為另外一個向量的名字。

s1 <- seq(1,10,2)  #向量從1開始,步長為2,最大不超過10,這里輸出:1 3 5 7 9

s2 <- seq(1,9,length.out = 5)  # 輸出1 3 5 7 9,這里的步長是根據(jù)(9 - 1)/(5-1)計算出來的

s3 <- seq(3,by=3,length.out=5)  #輸出3 6 9  12 15

s4 <- seq(by=3,along.with = s3)  #輸出1 4 7 10 13,未指定from項時,默認從1開始,長度與向量s3相同

s5 <- seq(length.out = 3)  #輸出1 2 3

s6 <- seq(along.with = s5)  #輸出 1 2 3

s7 <- seq(9,by=-2,length.out=6)  # 9 7 5 3 1 -1

進一步說明:這里的from, to,by項可以為任意實數(shù),即也可以為浮點數(shù)。

本部分的執(zhí)行情況見下圖:

R語言中使用seq()函數(shù)創(chuàng)建等差序列

(4)使用rep函數(shù)創(chuàng)建重復序列的向量

rep函數(shù)可以將某一向量重復若干次,該函數(shù)的原型如下:

rep(x , times = 1, length.out = NA,  each = 1)

參數(shù)中,x為要重復的序列對象;times為重復的次數(shù),默認為1;length.out為產(chǎn)生的向量長度,默認為NA(未限制);each為每個元素重復的次數(shù),默認為1。

r1 <- rep(1:3,2)  #輸出: 1 2 3 1 2 3   前面的序列按原順序重復2次

r2 <- rep(1:3, each =2)  # 輸出 1 1 2 2 3 3 序列中的每個元素重復2次

r3 <- rep(c(2,5),c(3,4)) #輸出2 2 2 5 5 5 5 5將向量c(2, 5)按照后面給出的次數(shù)向量依次重復3次和4次

r4 <- rep(c(2,4,6),each=2 ,length.out = 5) #輸出2 2 4 4 6  由于規(guī)定長度為5,這里僅有5項

r5 <- rep(c(2,4,6),each=2,times=3)  #輸出2 2 4 4 6 6 2 2 4 4 6 6 2 2 4 4 6 6 每項2次,整體3次

r6 <- rep(c(2,4,6),times=3,length.out=5) #輸出2 4 6 2 4 整體應該重復3次,但這里規(guī)定了長度,所以只有5項

本部分的執(zhí)行情況見下圖:

R語言中使用rep函數(shù)創(chuàng)建重復序列

2、為向量的每個元素命名

vn <- c(11,22,33,44)

names(vn) <- c("one","two","three","four")  #對應元素的名字分別為one, two, three, four

本部分的執(zhí)行情況見下圖:

R語言中給向量元素命名

3、向量的引用

vc <- c(11,22,33,44,55,66)   #創(chuàng)建一個向量

(1)使用元素的位置引用

① vc[1]  #提取第一個元素值:11

② vc[1:3] #提取1~3個元素的值:11 22 33

③ vc[c(2,4,5)]  #提取第2、第4和第5個元素的值:22 44 55

④ vc[-1] #提取除第一個元素之外的元素值:22 33 44 55 66

⑤ vc[-(1:3)] #提取除1~3個元素之外的元素值:44 55 66

⑥ vc[-c(2,4,5)] #提取除第2、第4和第5個之外的元素值:11 33 66

(2)使用邏輯向量

⑦ vc[c(TRUE,TRUE,FALSE,FALSE,TRUE,FALSE)] #提取對應位置為TRUE的元素值:11 22 55

⑧ vc[c(TRUE,FALSE)] #輸出11 33 55 這里的c(TRUE,FALSE)自動補齊到與vc向量長度相同,c(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)

⑨ vc[c(TRUE,TRUE,FALSE)] #輸出11 22 44 55

(3)使用元素名字

names(vc) <- c("one","two","three","four","five","six")  #為每個元素命名為one,two,three,four,five,six

⑩ vc["one"] #輸出11(在此值上方會有其名字one)  這種方法只能用于訪問一個元素的情況

?vc[c("one","three","six")] #輸出11 33 66 (其上方會帶有其對應的名字)

(4)使用which函數(shù)進行篩選

?which(vc==11) # 找出向量vc中元素值為11的元素位置:這里輸出1,即11在vc中的位置為1

?which(vc==11|vc==33)) #找出向量vc中元素值為11或33的元素所在位置:1 3

?which(vc>11 & vc<=44)#找出元素值大于11且小于44的元素所在位置:2 3 4

?which.max(vc) #最大元素值所在的位置:6

?which.min(vc) #最小元素所在的位置:1

(5)使用subset函數(shù)索引

可以使用subset函數(shù)找出向量中滿足給定條件的向量元素值,語法格式如下:

subset(向量名,邏輯條件)

?subset(vc,vc>11 & vc<55)  #得到 22 33 44

?subset(vc,c(TRUE,FALSE,TRUE))  #11 33 44 66  邏輯向量通過重復自動補齊

(6)match函數(shù)

該函數(shù)的原型為:

match(x,y)  

該函數(shù)返回的是x中的每個元素在y中對應的位置,如果x中的元素在y中不存在,則該位置返回NA

?match(vc,c(11,22))  # 1 2 NA NA NA NA  因為x中的33 44 55 66在c(11,22)中不存在,所以后面4個為NA

?match(vc,c(11,33,55,66,88,99)) # 1 NA 2 NA 3 4  vc中的22在給定的序列中不存在所以第2個為NA,33在給定的序列位置為2,所以vc中的第3個元素位置為2...

4、向量的編輯

(1)擴展向量

vc<-c(11,22,33,44)  #創(chuàng)建一個向量

vc <-c(vc,c(55,66))  #給vc擴展,增加了2個元素55和66

vc <- append(vc,77)  #在向量最后追加一個新元素77

vc <- append(vc,c(88,99))  #在向量后追加連個元素88和99

vc<- append(vc,100,3)  #在第3個元素后追加一個新元素100 :11 22 33 100 44 55 66 77 88 99

說明,使用append追加元素會生成一個新的向量,不是直接在原向量中追加,看下面的例子:

vc<- c(11,22,33)

append(vc,c(44,55))

若重新輸出vc,會發(fā)現(xiàn)vc的向量值元素仍然為:11 22 33,并沒有發(fā)生變化

只有這樣vc <- append(vc,c(44,55)),重新打印vc的值為:11 22 33 44 55

(2)改變元素的值

vc[1] <- 111  #向量vc的第一個元素值變?yōu)?11

vc[1:3] <- 111  #向量vc中第1~第3個元素的值都變?yōu)?11

vc[1:3] <- c(111,222,333) #向量vc中第1~第3個元素的值分別被修改為111 222 333

vc[vc>33] <- 11  #將向量vc中的所有元素值大于33的元素值修改為11

vc[vc==33] <- 11 #將向量vc中元素值為33的元素值修改為11

(3)刪除元素

vc<-vc[-1]  #從vc中刪除了位置為1的元素

vc<-vc[-c(3:5)] #從vc中刪除了位置為3,4,5的元素

vc<-vc[c(2:4)] #刪除了出位置為2,3,4之外的元素

5、向量的排序

(1)sort函數(shù)

sort函數(shù)原型如下:

sort(x, decreasing=FALSE,na.last = NA,index.return = FALSE,...)

x為要排序的對象,decreasing為排序順序,是否為降序,默認為FALSE,即升序;na.last是對NA(mising value 或者Not available)值的處理,若為TRUE,則NA值將放在最后,若為FALSE,NA值將放在最前面,若為NA,則排序時剔除掉NA值;index.return是個邏輯值,設置是否顯示排序序列對應的元素值在未排序前序列中的對應位置索引,默認為FALSE。

sort可以使用的的形式如下:

sort(vc)  #默認升序排序,NA值不參與排序,且被剔除掉,即若vc中有NA值的話,排序后的序列中不含有NA值

sort(vc,decreasing = TRUE)  #降序排序,NA值默認被剔除掉

sort(vc,na.last = TRUE) #默認升序排序,NA值不被剔除掉,且放在排序序列的后面

注意:排序生成新的序列,不會影響原向量的值及順序

(2)rev函數(shù)

rev函數(shù)將向量倒序,即將原向量的元素按位置翻轉

vc <- c(11,44,33,22,77,66)  #創(chuàng)建一個向量

rev(vc)   #66  77 22 33 44 11

6、用于向量的一些函數(shù)

(1)求和函數(shù)sum()

v <- c(1:10)  #創(chuàng)建一個新向量:1 2 3 4 5 6 7 8 9 10

  sum(vc)  #  55

(2)求最大值函數(shù)max()

   max(v)  # 10

(3)求最小值函數(shù)min()

   min(v)   # 1

(4)求均值函數(shù)mean()

  mean(v)  # 5.5

(5)求中位數(shù)函數(shù)median()

  median(v)  # 5.5

  v1<- c(1:9)  # 創(chuàng)建一個新向量:1 2 3 4 5 6 7 8 9

  median(v1)  # 5

(6)range()函數(shù)

  相當于c(min(x), max(x))

  range(v)  # 1 10

  range(v1) #1 9

(7)求方差函數(shù)var()

  var(v)  #9.166667

  var(v1) # 7.5

(8)求標準差函數(shù) sd()

  sd(v)  #3.02765

  sd(v1) #2.738613

(9)求向量元素值連乘積prod()

  prod(v)  #3628800

  prod(v1) #362880

(10)累加和向量函數(shù)cumsum(x)

 結果是一個向量,長度與x相同,每一項的值是該項與前一項累加后的值

cumsum(v1)   #1  3  6 10 15 21 28 36 45

cumsum(v)   #1  3  6 10 15 21 28 36 45 55

(完)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
亚洲一区二区三区精品动漫| 亚洲va在线va天堂va偷拍| 亚洲天堂网在线观看| 少妇视频一区| 欧美国产日韩激情| 精品国产视频在线观看| 日韩电影免费观看在| 91丝袜在线观看| brazzers欧美精品| 亚欧洲精品在线视频免费观看| 成人午夜淫片100集| 国产精品第108页| 亚洲精品自拍第一页| 九色精品国产蝌蚪| 国产伦精品一区二区三区视频青涩| 激情综合中文娱乐网| 免看一级a毛片一片成人不卡| 一本到一区二区三区| 欧美高清视频免费观看| 正在播放欧美视频| 亚洲国产成人无码av在线| 亚洲国产日韩在线一区模特| 99精品国产一区二区三区2021| 你懂的在线视频观看| 男女做爰猛烈刺激| 国产一级电影网| 国产真实乱偷精品视频免| 免费在线观看羞羞视频| 国产精品一区二区三区久久| 天堂av一区二区三区在线播放| 性xxxx视频播放免费| 欧美成人se01短视频在线看| 欧美成人免费在线观看视频| 国产suv一区二区三区88区| 久久超碰97人人做人人爱| 青娱乐国产视频| 免费黄色在线| 国产91亚洲精品| 亚洲成人精品一区二区三区| 一区高清视频| 男女视频网站| 欧美特黄aaaaaaaa大片| 免看一级a毛片一片成人不卡| 成人亚洲精品久久久久软件| 久久精品国产99精品国产亚洲性色| 国产一区二区三区观看| 欧美一二三区视频| www.污视频| 亚洲97av| 99久久精品无免国产免费| 午夜电影网一区| av在线无限看| 亚洲天堂2017| 欧美日韩一级在线| 成人免费播放器| 欧美日韩精品一二三区| 老司机av在线免费看| 日韩欧美亚洲v片| 亚洲qvod图片区电影| 999久久久国产| 黄色a级在线观看| 亚洲精品www.| 99久久精品国产观看| 日韩在线伦理| 91精品xxx在线观看| 亚洲自拍都市欧美小说| 国产午夜精品理论片a级大结局| 中文字幕制服诱惑| 亚洲天堂av高清| 91蜜桃在线视频| 一本色道久久综合亚洲二区三区| 性网爆门事件集合av| 国产精品美女久久久久av福利| 日夜干在线视频| 亚洲三级精品| 国产精品一区二区久久不卡| 国产日韩综合av| 国产一区二区三区免费观看在线| 亚洲国产成人精品女人| 欧美一级bbbbb性bbbb喷潮片| 久久99精品一区二区三区| 樱空桃在线播放| 九七伦理97伦理| 美国av在线播放| 国产精品久久毛片| 日韩欧美黄色动漫| 99久久免费看精品国产一区| 在线观看精品一区| 国产极品在线播放| 日韩在线视频一区二区三区| 18精品爽视频在线观看| 久久久影院一区二区三区| 欧美α欧美αv大片| 久久在线精品视频| 国产suv精品一区二区68| 2019中文字幕在线免费观看| 国产xxx精品视频大全| 国产精品77777| 国产一级免费片| 欧美午夜无遮挡| 午夜影视一区二区三区| 久久久精品一区二区毛片免费看| 日本10禁啪啪无遮挡免费一区二区| 色偷偷www8888| 国产精品视频第一区二区三区| 中文字幕在线播放一区二区| 中文天堂在线播放| 精品国产精品一区二区夜夜嗨| 天天影视久久综合| 成人做爰66片免费看网站| 成人免费视频国产免费麻豆| 成人免费网址在线| 亚洲va电影大全| 国产无限制自拍| 在线免费91| 少妇一区二区三区四区| 乱亲女秽乱长久久久| 亚洲AV无码乱码国产精品牛牛| 国产亚洲人成a在线v网站| 在线一区二区不卡| 欧美日韩成人在线视频| 成人毛片高清视频观看| 在线免费激情视频| 精国产品一区二区三区a片| 精品欧美一区二区久久| 国产欧美日韩在线| 国产91精品对白在线播放| 暖暖日本在线观看| 亚洲精品乱码久久久久久黑人| 国产精品婷婷午夜在线观看| 欧美精品福利| 成人免费视频网| 一本加勒比波多野结衣| 午夜精品一区二区三区在线| 日韩一级不卡| 91精品啪aⅴ在线观看国产| 粉嫩av一区二区三区天美传媒| 成人网18免费网站| 中日韩男男gay无套| 小水嫩精品福利视频导航| 超碰在线观看免费| 亚洲国产毛片aaaaa无费看| 3d动漫精品啪啪一区二区下载| 精品一区二区三区亚洲| 色先锋资源网| 欧美午夜美女看片| 欧美一级视频一区二区| 性xxxxfreexxxxx欧美丶| 亚洲影视在线| 妺妺窝人体色www看人体| 任我爽精品视频在线播放| 精品久久久久久久久久中文字幕| 91精品国产亚洲| 中文字幕成人在线| 一级中文字幕一区二区| 黄色国产精品一区二区三区| 日韩精品成人一区二区在线观看| 欧美一区二区三区久久| 麻豆视频在线免费看| 美女翘臀白浆直流视频| 东方欧美亚洲色图在线| 影音先锋在线中文字幕| 亚洲欧美日韩不卡| 在线观看日韩一区| 九九热这里只有精品免费看| 久久综合久久网| 国产精品十八以下禁看| 李宗瑞系列合集久久| 日韩成人av毛片| 日韩啪啪网站| 成人在线激情视频| 亚洲欧美日韩偷拍| 亚洲一区精品在线观看| 色播在线观看| 欧美成人福利视频| 精品伦理一区二区三区| 亚洲制服丝袜在线| 欧美1级片网站| 久久婷婷国产精品| 欧美日韩一区二区三区免费看| 波多野吉衣中文字幕| 亚洲视频一起| 久久久视频精品| 91成人短视频在线观看| 日韩中文第一页| 中文字幕av高清在线观看| 91久久偷偷做嫩草影院| 亚洲精品20p| 国产精品每日更新| 一区二区三区在线观看欧美| 色yeye免费人成网站在线观看| 久久久久在线观看| 国产一区二区三区三区在线观看| 国产成人av免费| 精品黑人一区二区三区国语馆| 亚洲色偷偷综合亚洲av伊人| 国产成人极品视频| 中文字幕乱码在线| 日韩视频免费观看高清完整版在线观看| 九九热在线视频播放| 色影视在线观看| 欧美日韩卡一卡二| 91在线观看欧美日韩| 午夜国产不卡在线观看视频| 国产精品色婷婷在线观看| 亚洲不卡一卡2卡三卡4卡5卡精品| jizz老师| 日韩成人在线看| 久久精品视频中文字幕| 亚洲欧美网站| 欧美图片自拍偷拍| 日韩欧美精品一区二区三区经典| 国产一区美女在线| 91在线观看污| 男男视频在线观看网站| 亚洲第一页中文字幕| 漂亮人妻被中出中文字幕| 精品少妇一区二区三区在线| 在线激情小视频| 高潮无码精品色欲av午夜福利| 无码人妻aⅴ一区二区三区日本| 久久久久国产精品| 亚洲日本欧美在线| 欧美xxxx性猛交bbbb| 欧美丝袜在线观看| 五月亚洲婷婷| 亚欧色一区w666天堂| 五月天av影院| 国产欧美一区二区精品性色| 国产黄色小视频在线| 97精品人妻一区二区三区香蕉| 国产精品中文久久久久久| 国产一区二区三区四区大秀| 国产一区二区三区蝌蚪| 成人av片在线观看| 免费一级做a爰片久久毛片潮| 国产精品国产自产拍高清av| 欧美激情专区| 成人国产一区二区| 香蕉青柠影院| 麻豆成人免费视频| 亚洲最新在线视频| 欧美精品一区二区蜜臀亚洲| 黄瓜视频在线免费观看| 中国极品少妇videossexhd| 成人精品视频网站| 欧美极品少妇无套实战| 欧美1区2区视频| 精品国产麻豆免费人成网站| 久久国产成人精品国产成人亚洲| 亚洲国产精品无码久久久| 日本一区二区免费在线观看| 久久99精品国产一区二区三区| 成人中文字幕在线| 91国内视频| 中文字幕字幕中文在线中不卡视频| 日韩黄色片在线观看| www.com在线观看| 成人av在线不卡| 日韩人妻无码精品综合区| 精品无码在线观看| 日韩av电影免费观看高清| 欧美日韩精品一区二区三区四区| 亚洲午夜久久久久久久久久久| 女人扒开腿免费视频app| 中文字幕亚洲一区二区三区五十路| www.老鸭窝.com| 久久婷婷丁香| 国内精品视频在线播放| 亚洲国产你懂的| 亚洲AV无码一区二区三区性| 国产 日韩 欧美 精品| 欧美一级爽aaaaa大片| 蜜桃av免费在线观看| 一本一道久久a久久综合精品| 欧美成人精品一区二区| 国产九九在线| 久久久久免费网站| 久久综合久久88| 久久久久久一级片| 国产v日产∨综合v精品视频| 成人av电影免费观看| 婷婷久久国产对白刺激五月99| 国产精品tv| 欧美成人午夜激情视频| 欧美电影网址| 亚洲精品国产欧美| 污网站免费看| 丁香五月网久久综合| www.xxx麻豆| 国产一区二区在线视频观看| 伊人网在线视频| 日本成人片在线| 天天干天天干天天干天天干天天干| 国产精品suv一区二区| 欧美黑人乱大交ⅹxxxxx| 亚洲一区二区三区四区五区xx| 精品久久久在线观看| 欧美 日韩 国产在线观看| 污网站免费观看| 日日夜夜精品视频免费观看| 老司机免费视频一区二区三区| 国产成人精品一区二区三区四区| 日本不卡一区二区三区| 亚洲国产婷婷综合在线精品| 丰满岳乱妇一区二区| 少妇无套内谢久久久久| 国产69精品久久久久9999人| 国模极品一区二区三区| 亚洲综合中文字幕在线观看| 91福利小视频| 91精品国产自产在线观看永久∴| 91wwwcom在线观看| 6080午夜不卡| 不卡视频在线观看| 欧美电影在线免费观看| 极品美女销魂一区二区三区免费| 亚洲国产欧美另类丝袜| 欧美丰满熟妇bbb久久久| 国产精品性做久久久久久| 日韩精品亚洲视频| 中文字幕一区av| 在线看片日韩| 盗摄精品av一区二区三区| 国产传媒av在线| 欧美私人情侣网站| 天堂在线中文| av在线免费电影|