SPSS Tranformation using Log10(variable+1) not working

#1
Hi,
I'm trying to transform a positively skewed variable that includes 10 zeros, so I understand that when using the Log10 function, '+1' should be added, and then all the zeros would become 1.

I have performed this, and although the distribution of the variable seems better, unfortunately the zeros have not changed, and the variable continues to not have a normal distribution.

Would anyone have an idea of why this is? Any help would be most appreciated!
Thanks so much in advance.
 

maartenbuis

TS Contributor
#2
It is very fortunate that the 0s remain, otherwise SPSS would have implemented the log function incorrectly. What does \(^{10}\log(1)\) mean? To what power do I need to raise 10 to get 1, so you try to find \(x\) in \(10^x = 1\). The answer is 0.

However, more generally I think it is a bad idea to deal with 0s this way. You get much easier to interpret results by using a log link function instead of log transforming your data, see e.g.:

Nicholas J. Cox, Jeff Warburton, Alona Armstrong, Victoria J. Holliday (2007) "Fitting concentration and load rating curves with generalized linear models" Earth Surface Processes and Landforms, 33(1):25--39. DOI: 10.1002/esp.1523

Santos Silva, J.M.C., S. Tenreyro 2006. "The log of gravity", The Review of Economics and Statistics, 88(4):641-658. DOI: 10.1162/rest.88.4.641

Even more generally, you do not want your variables to be normally distributed, but your residuals. Even that is not important if you have more than say 30 observations (you'll need more observations if you have many explanatory variables or the variance in the explanatory variables is low or the explanatory variables are highly correlated).