R使用邏輯向量

2021-09-11 16:16:46 字數 1432 閱讀 7446

運算子描述&

向量化and

乙個絕對值

向量化or

&&單變數and

兩個絕對值

單變數or

在if表示式中,&&和||經常用來執行只需返回單元素邏輯向量的邏輯運算,但是當多元素向量使用&&時,會有風險,因為它會默默忽略運算子兩側 的向量中除第乙個元素以外的其他元素(即只注意第乙個元素)ps:if函式只返回乙個值,否則人報錯(if只能用作於單值邏輯向量)。

test_direction <- function(x,y,z)
如果提供的引數是標準數字,那麼函式可以完美執行。

test_direction(1,2,3)

ouptput:[1] 1

但是,當某個引數不止乙個元素時,&執行向量化運算,並返回乙個多元素向量。但是if只能作用於單值邏輯向量,否則,就會產生警告。

test_direction(c(1,2),c(2,3),c(3,4))

warning in if (x如果test_direction函式中的&運算修改為&&,那麼上式就不會報錯,返回的值也是1,因為它只進行第乙個元素的運算,1,2,3元素

最常用的兩個邏輯聚合函式是any()和all().只要給定邏輯向量的任何乙個元素是true,any就返回true,否則返回false,只有給定的邏輯向量的所有元素都是true,函式all()才返回true,否則返回false。

> x <- c(-2,-3,2,3,1,0,1,2)

> any(x>1)

[1] true

> all(x>1)

[1] false

which()函式返回邏輯向量中元素true的位置(索引)

> abs(x)>=2

[1] true true true true false false false true

> which(abs(x)>=2)

[1] 1 2 3 4 8

> x[which(abs(x)>=2)]

[1] -2 -3 2 3 2

# 或者用[ ]

> x[abs(x)>=2]

[1] -2 -3 2 3 2

現實世界中的資料經常包含缺失值,用na表示,下面的數值向量就是乙個簡單的例子。

> y <- c(-2,-3,na,2,3,1,na,0,1,na,2)

> any(y>2)

[1] true

> any(y < -2)

[1] true

> any(y< -3)

[1] na

r語言邏輯向量相加 R語言學習筆記 向量

本章命令小結 x 建立向量並賦值給xc 數值,數值,數值 c 字串 字串 字串 c true,false,t,f c 1 100 冒號表示等差數列,1 100是1到100的等差數列 公差為1 seq from 起始值,to 終止值,by 公差 建立等差數seq from 起始值,to 終止值,len...

R語言 向量

1 seq 產生有規律的數列,間距省略時預設值為1。例1 seq 10,20,0.5 例2 seq 0,by 0.03,length 15 2 rep 產生有規律的數列,重複第乙個變數若干次。例1 rep 1 3,1 3 例2 rep 1 3,rep 2,3 例3 rep 1 3,length 10...

R語言 向量

向量是以一維陣列的方法管理資料的一種物件型別。可以說向量是r語言中最基本的資料型別,很多演算法函式都是以向量的形式輸入的。向量可以是數值型 字元型 邏輯值型 t f 和複數型。seq產生等距間隔的數列,其基本形式為 seq from 1,to 1,by from to length.out 1 le...