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
原创文章 1 获赞 2 访问量 31

猜你喜欢

转载自blog.csdn.net/weixin_43447444/article/details/105852502