R语言 --> 找出向量或矩阵中最大的三个异常值的位置

【任务简介】

下面以找出矩阵中最大的三个异常值的位置为例。

此处的异常值定义为矩阵中各数与中位数的差的绝对值。

【程序代码】

rs<-matrix(c(1,2,3,12,16,99999,7,8,9),ncol=3,nrow=3,byrow=TRUE)

findpos <- function(x) {
  mdn <- median(x)
  devs <- abs(x-mdn)
  arrayInd(sort.list(devs,decreasing=T)[1:3],dim(devs))
}

【运行结果】

> findpos(rs)   # rs<-matrix(c(1,2,3,12,16,99999,7,8,9),ncol=3,nrow=3,byrow=TRUE)
     [,1] [,2]
[1,]    2    3
[2,]    2    2
[3,]    1    1

【参考文献】

https://blog.csdn.net/hongweigg/article/details/48016307

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值