運算子描述&
向量化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...