Some frequent ways of unwillingly misrepresenting experimental results

Many students and some researchers are ignorant of the fact that any of the following practices are statistically invalid and could be considered to be ‘research-results manipulation’ (=cheating):

  1. Repeating an experiment until the p-value becomes significant.
  2. Reporting only a ‘typical’ (=nice-looking) replication of the experiment, and presenting statistics (tests of significance and/or parameter estimates such as means and standard errors) based only on this subset of the data.
  3. Presenting a subset of the data chosen using a subjective criterion.
  4. Not reporting that outliers have been removed from the data presented or used in analyses.

A limitation in the current implementation of spectral objects

I noticed this morning an unexpected behaviour of .spct objects when manipulated using data.table syntax… they become data.table objects! Until I solve this problem please do not use data.table syntax for manipulating .spct objects. I will upload a bugfix release of package photobiology, after I make sure that all functions defined in the package behave as expected. This will happen later today or tomorrow.

[edited @ 14:14, 22 July 2014] This time the bug was not in the code I had written, but rather in the data.table package. The code has recently been corrected in the development version of data.table (1.9.3), but this version is not yet available through CRAN… I will most likely upload a binary archive of data.table 1.9.3 to the r4photo repository later today, and a new version of package photobiology marked as requiring this or later versions of data.table.

New major updates uploaded to repository

photobiology 0.3.4 adds object oriented functions for most of the functionality, operator definitions have been revised. There still a few minor additions planned, but except for these, the package functionality and syntax should be quite stable from now on. Some code optimizations for speed or memory use may be done.

photobiologyFilters 0.1.10 provides all data as filter.spct objects instead of the earlier data frames. User code calling functions that expect filter names as character strings should still work unchanged. Code that explicitly used the data frames, needs to be edited for the name tag change from “.data”  to “.spct”. The code itself should work as the new objects are backwards compatible. The objects now contain “w.length”, “Tfr”, and “Tpc” ‘columns’, the “Tpc” column is deprecated, and will be removed the next time the package is built. Lots of new spectral data has been added to this package.

photobiologyLamps 0.1.11 provides all data as source.spct objects instead of the earlier data frames. User code calling functions that expect filter names as character strings should still work unchanged. Code that explicitly used the data frames, needs to be edited for the name tag change from “.data”  to “.spct”. The code itself should work as the new objects are backwards compatible. The objects now contain “w.length”, “s.e.irrad”, and “s.q.irrad” ‘columns’, the “s.q.irrad” column is deprecated, and will be removed the next time the package is built. This update contains the same data as the version it replaces.

photobiologyLEDs 0.1.2 provides all data as source.spct objects instead of the earlier data frames. User code calling functions that expect filter names as character strings should still work unchanged. Code that explicitly used the data frames, needs to be edited for the name tag change from “.data”  to “.spct”. The code itself should work as the new objects are backwards compatible. The objects now contain “w.length”, “s.e.irrad”, and “s.q.irrad” ‘columns’, the “s.q.irrad” column is deprecated, and will be removed the next time the package is built. I still have quite a lot of data that I need to add to this package, and quite a few LEDs waiting to be measured.

I have tweaked how package data.table is imported, so that those time-related functions with names that clash with package lubridate are no longer imported. Furthermore, the functions imported by package photobiology from package data.frame, are re-exported by package photobiology. Thanks to this change it is no longer needed for the end user to call “library data.table” in his/her code, this should help with backward and forward compatibility of user code.