2017-11-07 20 views
-1

주로 데이터를 캡처하는 데 사용 된 기술로 인해 몇 가지 주요 이상치가있는 일부 데이터로 작업하고 있습니다. 나는 이것을 제거하여 데이터를 표준화했다. 그러나 작품의 성격 상, 공연을 비교하기 위해 모든 참가자의 결과를 일련의 그래프로 시각화하도록 요청 받았습니다. 저는 R에 조금 익숙합니다. 정규화가 어렵지는 않지만 표준화 된 데이터의 스케일에 이러한 이상 치를 다시 도입하는 방법에 대해 다소 혼란 스럽습니다. 데이터를 왜곡하지 않고 이전에 정규화 된 데이터 (평균 = 0)에 이상 치를 스케일링하는 방법이 있습니까?가시화를 위해 아웃 라이어 데이터를 표준화 된 데이터로 R

편집 :

#example data of 20 participants, 18 of which are normal-range and 2 of which 
#are outliers in a data frame 
time <- rnorm (18, mean = 30, sd = 10) 
distance <- rnorm(18, mean = 100, sd = 20) 
time <- c(time, 2, 100) 
distance <- c(distance, 30, 1000) 
df <- data.frame(time, distance) 

아웃 라이어 주로 인해 알려져있다 : 나는, 그래서 여기 내 프로세스가 지금의 모습의 예 (여기에 질문을 여전히 신규) 정보를 밖으로 많이 남아 실현 데이터 수집의 특성 때문에, 그들을 제거 :

dfClean <- df[-c(19, 20),] 

및 (데이터 정상으로 생성 되었기 때문에 단계 여기서 생략) 후 정상 상태를 확인하기 위해 데이터를 플롯. 거기에서 데이터 세트의 열을 정규화하여 각 변수가 평균 0과 1의 st를 갖도록 함께 그려졌습니다. 목표는 미래의 데이터 (시각화에 대한 강조)에서 확산 및 특이 치를 시각화 할 수 있도록 이것을 "일반"범위로 사용하는 것입니다.

#using package clusterSim 
dfNorm <- data.Normalization(dfClean, type="n13", normalization = "column") 

문제는 내가조차 제대로 스케일 기능을 이해하고있어 만약 내가 나중에이 범위 이상 값을 확장하는 방법을 잘 모르겠어요 ... 또는이다. 그렇다면 정규화 된 mean = 0 척도에서 outlier를 포함하여 원래의 df에있는 모든 피험자를 어떻게 그립니다.

+2

프로그래밍하는 것보다 더 많은 통계적 질문이있는 것 같습니다. – storaged

+0

데이터를 표준화하기 위해 수행 한 작업을 확인하는 것이 도움이됩니다. 당신은 mean = 0이라고 말하지만 sd = 1도 만들었습니까? 'scale' 함수를 사용 했습니까, 아니면 스스로 조정 했습니까? – G5W

+0

네 말이 맞아. 나는 확실히 더 많은 정보를 추가 할 필요가있다. 나는 그 포스트를 편집 할 것이다. 이 프로세스에는 많은 부분이 있습니다. 불분명합니다. 불행히도 x를 알아내어 내 장치에 조금 남겨 두었습니다. x –

답변

0

stackoverflow 문제를 해결하기 위해 외부 링크를 제공 할 수 있는지 확실하지 않습니다. 아직도 내가이 여러 번 사용하고 유용하다고

https://www.r-bloggers.com/identify-describe-plot-and-remove-the-outliers-from-the-dataset/ 

당신의 problem-에게 relove에 대한 링크 아래에 참조 할 수 있습니다.