首页 > 解决方案 > 涉及在异常值分析中提取行值而不是行号的问题

问题描述

我正在使用 Routliers 包进行异常值分析。这是示例数据,一个删节版。

id   v1  v2
24   1   4  
2    2   5  
18   3   6

异常值包将打印出行。请参阅示例代码。

library(Routliers)
CR_metrics_1 <- CR_metrics[c(1,2,3)]
res <- outliers_mcd(x = data.frame(CR_metrics_1[-1]), h = .75, alpha = .05)
res$outliers_out ##prints out rows

这是输出的内容:

res$outliers_out 
1 3

但是,我想要有问题的特定 id,在本例中为 24 和 18。

我尝试创建一个向量和 df 以某种方式能够提取有问题的 id。需要明确的是,我想要一个 df 的 id 有问题,但我不知道该怎么做。

x <- res$outliers_out

cbind.fill <- function(...){
  nm <- list(...) 
  nm <- lapply(nm, as.matrix)
  n <- max(sapply(nm, nrow)) 
  do.call(cbind, lapply(nm, function (x) 
    rbind(x, matrix(, n-nrow(x), ncol(x))))) 
}

a <- cbind.fill(df)

有没有人对此有任何建议?

标签: rdatabasedataframeoutliers

解决方案


推荐阅读