Occasionally I get feedback from JASP users who write: “I would like to be able to edit data directly in JASP”. Each time I discuss this issue, however, I can convince our users that the way you can edit data with JASP is smarter. That’s why I’d like to expose my arguments in this blog post.
First of all, you *can* edit data with JASP: double-clicking the JASP data panel opens the data file with your preferred spreadsheet editor. You can then edit this data file and, when you save your changes, they are immediately echoed in JASP, and all analyses are updated automatically. A moving gif of the JASP data editing process is available below, and a YouTube video can be found here. Piggybacking off existing software may feel like a cheap solution, but if you actually try it out yourself you will discover it works like a charm.
For the editing process, by default JASP uses the editor that your computer associates with the suffix of the data file — ‘csv’, ‘ods’, or ‘sav’. You can select a different default by selecting your favorite editor in the JASP preferences menu. This is useful because some people prefer Excel, whereas other people prefer LibreOffice, etc.
Now consider the alternative: a hypothetical JASP editor with its own unique set of functions and its own user interface. Users would rightly wonder why particular functionality was included or excluded, and why it was implemented in a specific manner. Excel, LibreOffice, and OpenOffice have spent many years to implement all sorts of functionality with a relatively smooth user interface. So instead of demanding that users learn a new (and possibly suboptimal) editor, we have chosen to use the users’ preferred editor instead.
Nevertheless, I see at least four cases when you want some sort of data editing in JASP itself:
(1) Label editing: you can do that already in JASP by just clicking the header of a column. Here is a moving gif of this process:
(2) Missing values: you want to be able to inform JASP how missing values are indicated (e.g., NA, NaN, -999, etc.). You can do this through the JASP preference menu, and here is a moving gif of this process:
(3) Filtering: this is relevant when you don’t want to remove data, but instead analyze a subset (e.g., only the data from the male participants). In the descriptives menu, we already offer a “Split” functionality (a moving gif is here). A comprehensive filtering solution will be available in the upcoming JASP version. Just a few weeks away, JASP filtering will allow users to select data in two ways, either through a graphical user interface (!) or through R code. A detailed explanation of JASP filtering will follow once the new version is released.
(4) Compute columns: this is handy if you’d like to conduct an analysis on a transformed variable. For instance, you might want to conduct your analysis on the logarithm of response times instead of the raw response times; or you might be interested in a composite dependent variable that is a simple function of some existing variables. Spreadsheet editors generally do a great job here, but we realize that it would be convenient to be able to do this in JASP as well, also because it provides a record of what actions were executed on the raw data. This functionality is currently in development.
Finally, the synchronisation functionality (i.e., automatically adjusting the analyses by linking to a new or updated data file) provides some additional opportunities. For example: you start an experiment and analyze your first data batch with JASP with different complex analyses. Then you collect more data, and want to redo the analyses: just use (or copy) your first JASP file, and synchronize it with the new data file: JASP will automatically recompute the analyses with the new data. [NB: if you use a fixed-N frequentist test, such sequential tests are disallowed, at least when you use the results to decide whether or not to collect additional data] Also, note that it is potentially confusing to have multiple copies of data files, perhaps each edited in a different way; with the JASP synchronisation tool, the changes of such confusion are reduced. As an aside, data editing should be engaged in with care — at a minimum, make sure that you always keep a copy of the original data files; I recommend storing these as “read-only”.
Bottom-line: I really don’t think that data editing should be directly implemented in JASP, or at least I am not convinced that it should have a high priority. As mentioned above, you can edit data by just double-clicking. Perhaps what troubles some users is that they see their expectations violated, because programs like SPSS do offer direct editing. But I don’t believe SPSS should be a standard for us. That said, there are particular statistical editing jobs that standard spreadsheet editors perform rather inefficiently, such as filtering. These editing jobs will be implemented in JASP in the near future — in particular, filtering functionality (either with a GUI or with R code) is just a few weeks away.