data.table := an improved data.frame

I started using a package called data.table just yesterday. I re-wrote the whole of the MayaCalc package to use data.table instead of data.frame. Got it working in a few hours. Syntax is clearer and very concise. As a bonus everything should execute much faster (x10 to x30). I will time MayaCalc today after checking that the results are o.k.
Documentation for data.table is a bit terse, I will write some examples here in a few days’ time.

Be aware though that the semantics is really different when used as an argument to a function. If you use the := operator you achieve the equivalent of passing the data.table argument by REFERENCE rather than the normal R convention of passing all arguments by COPY. This is much faster for large data tables as copying is avoided, but you should be careful even if you understand the difference between these two semantics. If you don’t, do not use data.table before you fully understand the difference and all its implications.

photobiology R packages updated

This is two announce that except for photobiologyVIS and photobiologyUV all packages in the suite have been updated. I tried to make all updates backwards compatible. There are also some new packages on which I have been working for some time that I am publicly releasing today. Vignettes have also been improved.

All packages, even those not updated, have been built now under Windows 7 x64, and are compatible also with x386 (32 bit) versions of Windows.

Continue reading“photobiology R packages updated”

Thinking, Fast and Slow

Daniel Kahneman (2012) Thinking, Fast and Slow. Penguin Books, London.ISBN 978-0-141-03357-0.

I am currently reading this book. I am finding it extremely interesting. Understanding how and why we make choices, is important for everybody. If you are a scientist or aspire to be one in the future, understanding why we accept more readily some experimental results than others, why we are more comfortable with some hypotheses than others, is of fundamental importance, both to guard against bias, and to be able to present our new ideas in a way that will make them more acceptable.Continue reading“Thinking, Fast and Slow”