Skip to content

e1071::skewness and psych::skew return NaN

4 messages · Stephen Politzer-Ahles, Rui Barradas

#
Hello everyone,

Does anyone know what would cause the skewness() function (from
e1071), as well as skew() from psych, to return a value of NaN?

I have a vector of positively-skewed data
(https://docs.google.com/file/d/0B6-m45Jvl3ZmYzlHRVRHRURzbVk/edit?usp=sharing)
which these functions return a value for like normal:
but when I instead give those functions the log-transformed data they return NaN
The same occurs when I feed the function data transformed by reflected
reciprocal
The vector has no missing values (and if it did, I would get NA rather
than NaN, and the function wouldn't return a number when I give it the
raw data).

Best,
Steve

--
Stephen Politzer-Ahles
University of Kansas
Linguistics Department
http://people.ku.edu/~sjpa/
#
Hi everyone,

Please disregard my last message, I found a 0 in the vector, which is
what was causing problems with the log and reciprocal data.

Best,
Steve

On Wed, Feb 13, 2013 at 10:55 AM, Stephen Politzer-Ahles
<politzerahless at gmail.com> wrote:

  
    
#
Hello,

That value means that some values of your data are negative or zero. A 
simple inspection shows that

any(dat < 0)  # FALSE
any(dat == 0) # TRUE

Solution: don't log your data


Hope this helps,

Rui Barradas

Em 13-02-2013 16:55, Stephen Politzer-Ahles escreveu:
#
Hello,

Just remembered, you can see how many values are zero, and since it's 
only one value, remove it and log the rest.

sum(dat == 0) # 1
d2 <- dat[dat != 0]

library(psych)
skew(log(d2))
[1] 0.6089985


Hope this helps,

Rui Barradas


Em 13-02-2013 17:59, Rui Barradas escreveu: