R語言向量下標(biāo)操作_第1頁
R語言向量下標(biāo)操作_第2頁
R語言向量下標(biāo)操作_第3頁
R語言向量下標(biāo)操作_第4頁
R語言向量下標(biāo)操作_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第R語言向量下標(biāo)操作向量下標(biāo)即元素在向量中的位置,在實踐中我們可以利用下標(biāo)(元素的位置)來找出自己想要的數(shù)。

利用runif函數(shù)生成包含10個正整數(shù)的向量x。

options(digits=1)

set.seed(1234)

x-runif(10,min=1,max=20)

[1]31313131713151411

正整數(shù)下標(biāo)

我們可以輸入正整數(shù)作為下標(biāo)來找出對應(yīng)位置的元素。

在[]內(nèi)輸入下標(biāo)。

#向量x的第一位置的元素

[1]3

#向量x的第2位置的元素

[1]13

numeric(0)

與其他編程語言不一樣(下標(biāo)從0開始算起),R的下標(biāo)是從1開始算起。

在R語言中向量輸入0下標(biāo)返回numeric(0)。

如果在其他語言,如python中輸入下標(biāo)0,則返回向量中第一個位置的元素

負(fù)整數(shù)下標(biāo)

如果為負(fù)整數(shù)則表示刪除這個位置的元素,并返回余下的元素。

[1]31313131713151411

#刪除第一位的元素

x[-1]

[1]1313131713151411

倒數(shù)位置選取元素

如果是以倒數(shù)位置選取元素。倒數(shù)第一位置借助length函數(shù)表示下標(biāo),倒數(shù)第二三等等依次遞減。

set.seed(1234)

x-runif(10,min=1,max=20)

[1]31313131713151411

#倒數(shù)第一位元素

x[length(x)]

[1]11

#倒數(shù)第二位元素

x[length(x)-1]

[1]14

可以根據(jù)下標(biāo)位置來進(jìn)行賦值

[1]31313131713151411

#將第一位置賦值為8

x[1]-8

[1]81313131713151411

下標(biāo)超界即向量x的長度為n,它的最大下標(biāo)即是n,如果超過n,則超界。

在R中向量下標(biāo)超界則返回NA空白值。如果對這個下標(biāo)位置賦值,則生成對應(yīng)位置的元素

length(x)

[1]10

x[11]

x[11]-15

[1]3131313171315141115

可以以邏輯表達(dá)式作為下標(biāo),返回對應(yīng)的元素。

set.seed(1234)

x-runif(10,min=1,max=20)

[1]31313131713151411

#找出數(shù)值大于10的元素

x[x10]

[1]13131317131411

which函數(shù)、seq函數(shù)

which函數(shù)找出對應(yīng)元素的下標(biāo)

[1]31313131713151411

#找出取值大于13的元素的位置下標(biāo)

which(x13)

[1]569

seq函數(shù)也可以返回下標(biāo)

seq(along=x)[x13]

[1]569

seq_along(x)[x13]

[1]569

seq(along.with=x)[x13]

[1]569

可以在for循環(huán)中用seq_along(x)代替1:length(x)

for(iinseq_along(x)){

print(x[i])

for(iin1:length(x)){

print(x[i])

which.min與which.max可以分別找出向量中最小值與最大值的下標(biāo)位置

[1]31313131713151411

which.min(x)

[1]7

which.max(x)

[1]5

返回NA的下標(biāo)

a-c(NA,1,NA,23,45,NA)

which(is.na(a))

[1]136

補(bǔ)充:R語言中的向量使用合集

看代碼吧~

#---r中向量相關(guān)的操作

#----數(shù)字型向量

x-c(1,2,3)

assign(x,c(1,2,3))

y-c(x,2,x)

#[1]1232123

#向量的運算

x-c(1,2,3);y-c(2,3,4)

v1-2*x+x*y+1

#[1]51119

v2-2*x+x*y+c(1,1,1)

v1==v2

#v1==v2兩者效果相同,自己體會

#[1]TRUETRUETRUE

#x^2

#[1]149

#函數(shù)運算,比如log,sqrt,sin等

x-c(1,2,3)

sqrt(x)

#sqrt(x)

#[1]1.0000001.4142141.732051

#與向量相關(guān)的其他函數(shù)min、max、range、which.min、which.max、sum、prod、length、sort、mean、var

x-c(3,2,1)

#min(x)

#[1]1

#max(x)

#[1]3

#which.max(x)

#[1]1

#which.min(x)

#[1]3

#sum(x)

#[1]6

#prod(x)

#[1]6

#length(x)

#[1]3

#sort(x)

#[1]123

#mean(x)

#[1]2

#var(x)

#[1]1

#等差數(shù)列一般采用a:b的形式

#1:15代表從1到15的數(shù)列,每次加1

#[1]123456789101112131415

#1:4.5a為整數(shù),b為實數(shù),表示a到b的整數(shù)部分,每次加1

#[1]1234

#1.5:5a為實數(shù),b為整數(shù),表示從a開始累加到b,每次加1

#[1]1.52.53.54.5

#2*(1:5)

#[1]246810

#2*1:5向量優(yōu)先級大于運算符號

#[1]246810

#1:5-1

#[1]01234

#重復(fù)函數(shù)rep(x,times=)

x-c(1,2,3)

s-rep(x,times=2)

#[1]123123

#邏輯向量,在向量賦值處使用邏輯表達(dá)式

x-c(1,2,3,4,5)

l-x3

#[1]FALSEFALSEFALSETRUETRUE

#其它的邏輯向量運算還有===!=等

#all和any用于返回向量中的值是否全部大于3的邏輯值,any返回向量x中是否有值大于3

all(x3)

any(x3)

#邏輯向量的賦值,可以使用F和T對false和true進(jìn)行簡寫

l-c(TRUE,FALSE,F,T)

#向量中的缺失數(shù)據(jù)、賦值、檢查

z-c(-1,1:3,NA)

#[1]-1123NA

is.na(z)

z[is.na(z)]-0

#[1]-11230

#結(jié)合z的下標(biāo)進(jìn)行復(fù)雜運算

#[1]-11230

#結(jié)合z的下標(biāo)進(jìn)行復(fù)雜運算

(z+1)[!is.na(z)z0]

#[1]234

#-----字符型向量

#涉及賦值、paste連接

X-c(My,Job)

paste(My,Job)#表示將兩個字符鏈接,默認(rèn)使用空格進(jìn)行分隔開

#[1]MyJob

paste(X,1:6,sep=)

#[1]X1X2X3X4X5X6

#可以使用定義下標(biāo)值的方法來定義分段函數(shù)

#比如分段函數(shù)y=1-xx0y=1+xx=0

y[x0]-1-x[x0]

y[x=0]-1+x[x=0]

#下標(biāo)的正整數(shù)運算

v-10:20

v[c(1,2,3,4)]

c(a,b,c)[rep(c(2,1,3),times=3)]

#下標(biāo)的負(fù)整數(shù)運算

v[-(1:5)]

#表示去除代號為哪些的值

#取字符向量的某些下標(biāo)值

#在定義向量的時候可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論