Good news for Mac & Linux users – Excel importing added

October 9th, 2011

SOFA Statistics 1.1.1 brings good news for Mac and Linux users. You can now import Excel xls files directly. This is no longer a Windows-only feature.

Here is the full list of changes:

  • Excel can be imported from Mac and Linux as well as Windows.
  • ODS importing now copes with single ‘divider’ columns – i.e. columns with no field name in the header.
  • CSV importing now autofills blank columns with field numbers such as Var018.
  • More informative if locale issues.
  • More informative if unable to connect to MySQL on Mac.
  • Changed standard deviation in report tables from population sd to sample sd.

There is one important set of bug fixes which allows more sophisticated extraction of cell values from ODS spreadsheets. SOFA now copes with formatted content of cells and other complex cases by handling subelements in the XML.

Version 1.1.0 brings it together

August 20th, 2011

Version 1.1.0 finally brings it together adding some of the last features to round out the original vision for the application. The main change is much easier access to data – users can now open data tables from anywhere the table can be selected e.g. charts, report tables, statistical analyses.

Open your data from anywhere

Another change makes it easier to import from spreadsheets – SOFA now gives a preview of the first few rows of data to make it easier to determine whether there is a header row or not:

Spreadsheet sample

The two extra changes are: Importing from Google Doc spreadsheets now automatically starts import process if downloading was successful; Windows users can install into any folder now, not just one with sofastats in the name.

There are also a couple of bug fixes: Fixed bug when trying to display feedback on resizing operation on data table from dialogs other than data select; and fixed regression when running data list report tables.

Here are all the major feature changes since version 1.0 was released:

  • Single line charts now have option of a trend line and data smoothing (weighted rolling average).

    New options for line charts

  • Averages can be displayed for most chart types e.g. a line chart of average income by month.

    Chart Averages

  • Attractive and dynamic Box and Whisker plots added.

    Box and Whisker Plot button

    Box and Whisker Plot

  • Much easier access to data – can now open data table from anywhere the table can be selected e.g. charts, report tables, stats analyses.
  • Numerous usability improvements and bug fixes.

I hope you really like it.

1.0.7 Much easier data entry; better support for non-English text

July 28th, 2011

It is now a lot easier and more pleasant to enter data directly into SOFA. Check it out and see if you agree. It is also easier to get CSV data in if there are lots of fields. Overall this is an incremental step forwards rather than the introduction of lots of new features. Here is the full list of improvements:

  • Much easier and quicker data entry. Return key now functions like Tab in data entry tables. Deleting a cell automatically inserts the appropriate value.
  • Much faster importing of csv files with lots of fields. Now has option of quickly checking field names collectively (in batches under the surface) rather than individually.
  • Improved feedback to user if problem in early stages starting SOFA. Program now makes an error text file on the user desktop as well.
  • All field or table name checks in SQLite now return the SQLite error text as well.
  • Better message to user if installation of wx backend for matplotlib missing.
  • If cancel process of changing file used to define variable config, report table display no longer reverts to random demo.

and bug fixes:

  • Fixed bug in chi square when no labels set for numerical variables. Needed to convert value to unicode before using as label.
  • Fixed bug when importing datetimes with ‘T’ as the separator between date and time.
  • Fixed bug caused by SQLite queries sometimes returning strings instead of floats when extracting REAL (numeric) data. Fixed it where it affected Row Stats medians and std devs; and statistical tests.
  • Fixed bug when uwhisker and lwhisker not set. Also copes better when no boxes are displayed in boxplot.
  • Handling Python 2.6 unicode keyword bug.
  • Replaced pprint.pformat where it messes up unicode e.g. user paths with non-ascii characters. Misc other changes to fix internal issues.
  • Fixed bug allowing None to be displayed in Val A and Val B drop-downs under Group by e.g. ANOVA.
  • Config dialog in Report Tables widened slightly when needed to display title.
  • Fixed bug when decimal entered into value label list for an integer field.
  • Fixed CSV import bug when trying to guess whether a header or not.

Thanks to all the users who helped identify and resolve problems.

Great new tutorial on Hypothesis Testing

June 11th, 2011

J David Eisenberg has written a great new tutorial on hypothesis testing and here is a guest post from him for the SOFA blog. Enjoy:

I teach a psychology research methods course at a local community college. Every semester, I see the students’ confusion about hypothesis testing and significance levels. Even at the end of the semester, there are always a few students who think that a statistical result with a probability of .001 must *not* be significant, because the number is so small.

I do explain the concept during one lecture, but that just doesn’t do the trick. I could write a web page with the explanation, but I’m sure I’d get a TL; DR [1] from the students. So, I decided to make the explanation in the form of a visual novel [2] (VN). I used the Ren’py [3] visual novel engine to create the script, and it worked fine. The problem is, you need to download a fairly large file in order to display the VN; again, something that students would probably not be eager to do. The solution, which Grant [Developer of SOFA Statistics] suggested, was to make it all web-based. After some failed experiments with canvas and SVG, I was able to achieve the effects I wanted with HTML, CSS,and JavaScript. The result is at

Tutorial on hypothesis testing


50,000 downloads – another milestone

June 6th, 2011

SOFA Statistics had its 50,000th download today, and last month had over 4,600 downloads – a new record.

Download milestone

Box and Whisker Plots in version 1.0.6

June 4th, 2011

Box and Whisker plots have been added.

Box and Whisker Plot button

In keeping with the SOFA ethos these have been made as attractive as possible:

Box and Whisker Plot

As with all SOFA output, the Box and Whisker Plots are themed and, like other charts, the content is dynamic and interactive. A minor feature added to this version is a warning about the need to include the “sofa_report_extras” subfolder to see charts.

The following bug fixes have been made:

  • Fixed bug preventing comma being used as decimal separator when importing data.
  • Fixed bug when making line charts with averages – shows smoothed data line and trend line appropriately. Also only enables or disables checkboxes for smoothed data line and trend line where appropriate.
  • Better handling of comtype errors.
  • Fixed bug in histogram code when no default limits supplied.

New feature – Chart averages in version 1.0.5

May 16th, 2011

Do you want to make a line chart of average income by month? Or a bar chart of average height by country? The latest release of SOFA lets you do that very easily:

Chart Averages

Other improvements include:

  • Tab and Enter now work in a more intuitive way when in a settings grid. New rows which are incomplete produce a useful warning to the user.
  • Better support for Right-to-Left language locales.
  • Regression line intercept and slope included in Pearson’s Correlation output as well as a better regression line on the scatterplot.

A number of bugs have been fixed as well:

  • Fixed bug occurring when user selects a google docs spreadsheet and clicks on download after manually selecting a spreadsheet but without manually selecting a worksheet.
  • Fixed bug with report tables which occurred sometimes when a field value was the same as a field name.
  • Fixed bug when pie chart label has new line characters in it.
  • Adjusted y-axis placement on bar charts so not truncated in some cases.
  • When importing ODS data without a header, and responding to a data type inconsistency with Cancel, the progress bar is now reset to the start.
  • Fixed bug when saving projects in Windows with different name (albeit the same name if case insensitive). Would not appear in the Project Selection list and would be unable to reopen the Project Selection dialog.

Easier to “Get Started” and to give feedback

April 13th, 2011

It is easier than ever to get started with SOFA Statistics. A new “Get Started” button has been added to the main form and other buttons have been shifted to better emphasise the most important:

New "Get Started" button

Clicking on the “Get Started” button open a web page with screen shots and step-by-step examples.

It is now easy for first-time users to give their feedback. Was it as useful as they hoped? Is there anything which can be done to improve SOFA? There is a link on the main start form, plus a pop-up option on first exit from SOFA.

Feedback via simple Google Docs survey

The goal is to make SOFA more useful by finding out what worked, and didn’t for users – especially first-time users.

There were two other changes:

  • When importing csv files, SOFA now sets the default for ‘Has header row?’ according to a review of the sample contents.
  • And an Exit control has been added to all forms where appropriate.

Once again, there have been a number of bug fixes:

  • Fixed postgresql quoting error by using single quote values.
  • SOFA now uses the default database when making an initial connection. If connecting to a project fails, SOFA reverts to previous project. Postgresql projects insist on default database if user is not ‘postgres’. Gives useful error if an old project has this problem.
  • Fixed minor bug in Mann-Whitney output exposed whenever labels with %s in them were used.
  • Improved error trapping if error importing wx.lib.iewin.
  • Better font for help text on main form according to platform.
  • CSV importing copes with single-row data.
  • Better font settings for help text on Macs.
  • Fixed display bug in Mac when more than 20 values warning shown (smaller font now).
  • Chart by now filters out data lacking values in chart by variable.

The most important thing for the project is the feedback we will hopefully receive.

40,000 downloads to date

March 21st, 2011

SOFA Statistics has now become the most downloaded general purpose statistics application on SourceForge, having passed the 40,000 download mark. There are plenty of new features forthcoming, and every effort will be made to add them without compromising the commitment to ease of use, learn as you go, and beautiful output.


Exciting new chart options in 1.0.3

March 19th, 2011

For line charts, users can now add trend lines and smoothed lines (using a weighted rolling average).

New options for line charts

And histograms can now be produced with a normal distribution curve overlaid.

Optional normal curve on histograms

Other improvements include:

  • Histograms display better when lots of bins – wider chart and smaller font for x-axis.
  • Simplified layout of project selection form and changed preferences form.
  • Clearer labels when users are selecting a range of groups rather than discrete groups e.g. in ANOVA.
  • Added medians etc to the Wilcoxon Signed Ranks output.//
    Improved output for Wilcoxon Signed Ranks test

    Improved output for Wilcoxon Signed Ranks test

  • An early error message directs the user to the help page on “SOFA Won’t Start”. It also includes connection details in the error message if unable to connect to the default database.
  • Only delays next “What’s up” connection date if it successfully gets through.

There have also been some useful bug fixes:

  • Bug fix when importing from ODS any data which could potentially be a year e.g. 2631.
  • Report quality histograms no longer leave out values falling right on the upper limit.
  • Two-tailed vs one-tailed corrections in output display.
  • Fixed problem with table names (esp safetblname) surviving test for SQLite validity and breaking future tests.