2016-06-14 8 views
0

죄송 합니다만,이 질문이 사소하지만 해결 방법이 없다면 항상 문제가없는 density() 함수를 자주 사용했지만 지금은 일부 데이터 세트로 작업합니다. 많은) 상대적으로 작은 값과 갑자기 density(tab) 절대 주파수와 같은 것을 준다 - 내가 뭘 잘못했는지 모든 아이디어?R density() function

(참고 :. 또한 hist(tab, freq = FALSE) 탭에 대한 뭔가 이상한 제공) : summary(tab)이 제공 :

비고

Min./ 1st Qu./ Median / Mean/ 3rd Qu./ Max. 

-0.0042810 /0.0002679/0.0011750/0.0071690/0.0049510 /0.5839000 

나는 또한 상황이 density() 없음을 제공하는 아래에있는 일반적인 힌트, 매우 감사하게 될 거라고 상대적인 빈도는 y 값입니다.

+0

[좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask) 및 [재현 가능한 예] (http://stackoverflow.com)를 제공하는 방법에 대한 정보를 읽어보십시오./questions/5963269). 이렇게하면 다른 사람들이 당신을 도울 수있게됩니다. – zx8754

+0

상대적으로 작은 값은 무엇입니까? 무엇에 비해? '-1e100'? '1e-100'? :) – Therkel

+0

안녕하세요! 답을 고맙게 생각합니다. 현상을 재현/일반화 할 수 있다면 행복 할 것입니다. 표시된 바와 같이, density()는 보통이 이상한 데이터 세트를 제외하고는 정상적으로 작동합니다. 누군가가 잘못했을 수있는 단서가있을 수 있습니다. – chris17

답변

1

예제를 정확히 재현 할 수는 없지만 데이터 세트에 거대한 이상치가있는 것처럼 보입니다. 즉, 3 분위수는 0.005이지만 최대 값은 0.584입니다. 실제 축에서 3 분위수와 최소값 사이의 거리는 0.01입니다. 3 분위수에서 최대 값까지의 거리는 0.583을 초과합니다. 그것은 58 배 더 멀다! 내 이해마다 density은 모든 값에서 잘 작동하는 대역폭을 선택합니다. 이 경우 대부분의 값이 0에 가깝게 모여 있기 때문에 대역폭은 매우 작을 것입니다.이 경우 두 개의 수직선이있는 매우 축약 된 밀도 플롯이 나타날 수 있습니다. 하나는 왼쪽에, 다른 하나는 권리. 내가 사용하는 하나의 플롯을 생성 할 수 있었다 :

plot(density(c(rnorm(100, 0, 0.001), 100))) 

내가 할 모든 0.001의 SD로, 정규 분포에서 샘플을 채취하고,이 분포, 이상치 (outlier), (100)를 추가합니다. 밀도는 다음과 같이 보입니다. 밀도 값은 주파수에 혼동을 줄 수 있지만 확실하지는 않습니다. 나는 국외자를 제거하면 물론, 다음 추정 밀도 함수 멋지게 종은 모양 가져옵니다

regular density plot

그래서, 당신이 당신의 데이터로부터 이상치 (outlier)를 제거해야 할 것으로 보인다.

+0

고맙습니다. Bogdata와 Therkel, 내 날을 만들었습니다 :) – chris17