2013-11-23 6 views
-1

@ aL3xa here에 의해 실제로 멋지고 쉬운 기능이 있지만 벡터 용입니다.클로드의 값이 아웃 라이어 인 경우 매트릭스 행 제거

필자는 행렬이 있고 열 2라고 말하면 변수가 아웃 라이어와 관련 행을 잘라 버리고 싶어합니다. outliers 패키지가 있는데 그 알고리즘을 사용하고 싶지만 벡터 용으로 보이기도합니다. 어떤 제안?

감사는 연결 문제에서 코드의 일부에서 촬영

답변

1

:

# @aL3xa's function 
remove_outliers <- function(x, na.rm = TRUE, ...) { 
    qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...) 
    H <- 1.5 * IQR(x, na.rm = na.rm) 
    y <- x 
    y[x < (qnt[1] - H)] <- NA 
    y[x > (qnt[2] + H)] <- NA 
    y 
} 

set.seed(1) 
x <- as.data.frame(matrix(rnorm(10000),ncol=100)) # 100 x 100 data frame 
y <- remove_outliers(x[,2]) # look for outliers in columns 2 

newx<-cbind(x,y) 

newx2<-x[!is.na(x$y),]