e1071::skewness and psych::skew return NaN
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:
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 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:
skewness( data ) # returns 1.400405
but when I instead give those functions the log-transformed data they return NaN
skewness( log( data ) ) #returns NaN
The same occurs when I feed the function data transformed by reflected reciprocal
skewness( max(data) - 1/data ) ) #returns NaN
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/
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.