R語言的一些基本函數用法

由於以前學習的R全還給老師了,近期從新從頭學習R語言,這是最近get的一些相關函數用法,對此做一個總結回顧
**

match

作用就是可以用來篩選、匹配。
實際意義可以看
例如:

> x=c(1,3,7,4)
> y=c(1,3,8,9,0)
> match(x,y)
[1]  1  2 NA NA

返回x向量在y向量中所處的位置,x向量元素不存在y向量中的返回y

可進一步延申爲數據不同表中關於字段的一個處理

如:

data1$y1 = data2$y11[match(data$a1,data2$a1)]

table1

y1 a1
null string

table2

a1 y11
string string

意思爲:表1(data1)的y1字段目前是空的,
我們可通過表1的a1字段去匹配到表2的a2字段,然後進一步找到每個y1字段對應的值

類似的一個用法爲%in%

其含義爲x在y中是否存在,y可以是表中字段也可以是向量等

> x=c(1,3,7,4)
> y=c(1,3,8,9,0)
> x %in%  y
[1]  TRUE  TRUE FALSE FALSE

與match函數的用法差異在於,%in%返回的是布爾值即TRUE和FALSE 而match則是返回位置

which()函數的用法

用法which(test)。

返回滿足括號條件或者括號內爲TRUE的位置
which還有常用的which.max()和which.min()的用法
如:

> x=c(1,3,7,4)
> y=c(1,3,8,9,0)
> which(x>3)
[1] 3 4
> which(x<2)
[1] 1
> which.max(x)
[1] 3
> which.min(y)
[1] 5

is.na()函數的用法

判斷括號內的字段或向量等是否爲NA,是返回TRUE,否返回FALSE

> x = c(22,212,NA,3222222,NA)
> is.na(x)
[1] FALSE FALSE  TRUE FALSE  TRUE

與which()函數結合起來用 就可以判斷空值的位置,在數據處理時,需要處理空值的可進行填充或進行刪除

> x = c(22,212,NA,3222222,NA)
> is.na(x)
[1] FALSE FALSE  TRUE FALSE  TRUE
> which(is.na(x))
[1] 3 5
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章