Statistical software for biomedical research, including ROC curve analysis

MedCalc

MedCalc

  -  32.8 MB  -  Trial
  • Latest Version

    MedCalc 23.0.9 LATEST

  • Review by

    Juan Garcia

  • Operating System

    Windows 7 / Windows 8 / Windows 10 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    MedCalc Software / External Link

  • Filename

    medcalcsetup.msi

MedCalc is an advanced statistical software package built from the ground up to serve the needs of biomedical science researchers. With built-in spreadsheet support as an input data, it can easily import data from other spreadsheet apps and formats (Excel, SPSS, Dbase, Lotus, SYLK, DIF, or even extracted from TXT files) and thus be more easily integrated into various research and education initiatives performed all around the world.

In its core, MedCalc hosts support for basic parametric and non-parametric statistical procedures, tools for meta-analysis and sample size calculations, and a wide array of graph outputs (descriptive statistics, non-linear regression, logistic regressions, ANOVA, Mann–Whitney test, Wilcoxon test, χ2 test, correlation) and more.

Originally released to the public in 1993 as a DOS-only app, MedCalc received constant upgrades, eventually moving to the Windows-only space a few years later. As of today, this MedCalc represents one of the most popular biomedical research tools for statistical analysis of large datasets, curve analysis, data plotting, Bablok, and Deming regression, and more. The app has support for over 100 thousand spreadsheet rows, tools for sorting, filtering, and editing, and a built-in browser for managing all the data captured in the research studies. Tools for managing diagrams are available with a single click and include comparisons, scatter plots, subgroup graphs, support for up to 24 continuous variables, and much more).

The app also features advanced ROC curve analysis capabilities, enabling the creation of a ROC curve graph with 95% confidence bounds and added information of specificity, sensitivity, predictive values, likelihood ratios, conclusive plots, and more.  To be more useful in larger studies, the tool can compare six ROC curves in various ways. Researchers have also praised its capability to handle missing data, calculate percentile ranks, power transformations, subgroup management, outlier detection, regression tools, and more.

Because of its complexity and wide range of usage scenarios, this app is best suited to students and researchers who have knowledge in statistics and analysis of biomedical data.

In addition to four distinct premium licenses (Lifetime single-user, Single-user subscription, Site license, and Network license), the software can also be tested in an unrestricted way during a free 15-day trial demo.

Installation and Use

MedCalc is distributed online as a small installation package that weighs less than 30 MBs. Additionally, developers of the tool have also created a standalone free app file viewer that can be used to open .mc1 files without the need for a full MedCalc license. While Med Calc has the capability to fully modify and extract new graph insights from .md1 databases, a free viewer app can only be used to view previously set graphs and analyses.

Features and Highlights
  • Powerful statistical software package for biomedical researchers.
  • Fast, reliable, and user-friendly.
  • Well-suited for use in the education and medical environment.
  • Built-in support for over 220 statistical tests, procedures, and graphs.
  • Spreadsheet support for over 100 thousand rows of data.
  • Import tools for all popular spreadsheet file formats.
  • Optimized for all modern versions of Windows OS.
  • One edition includes all features.
  • Modest system requirements.
  • Offered for sale in four premium licensing options.
  • Available for FREE via a 15-day trial demo.


  • MedCalc 23.0.9 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    MedCalc 23.0.9 Screenshot 1
  • MedCalc 23.0.9 Screenshot 2
  • MedCalc 23.0.9 Screenshot 3
  • MedCalc 23.0.9 Screenshot 4
  • MedCalc 23.0.9 Screenshot 5

What's new in this version:

MedCalc 23.0.9
- Some bug fixes


MedCalc 23.0.8
- Revised Comparison of independent samples table


MedCalc 23.0.6
- Added the Welch test (t-test assuming unequal variances) in the independent samples t-test (Tests menu)
- Some bug fixes


MedCalc 23.0.5
Added:
- Added Diagnostic test (2x2 table): this procedure compiles a 2x2 table from 2 variables and calculates test characteristics
- Added an option to save predicted values and residuals as formulas
- Added the possibility to set a different line style and color for the confidence interval lines in a Kaplan-Meier survival plot

- Fixed a problem with the initial size of results windows


MedCalc 23.0.2
- Fixed a font problem in graphs (in non-Western Windows versions)
- Fixed a problem in the calculation of Harrell's C (Cox regression)
- Added the possibility to drag and drop a data file into the MedCalc window
- Fixed layout problems when text size is increased in Windows control panel - Accessibility
- Dialog boxes in the Tests menu: made the "Comments" input fields optional
- Improved several user-interface elements
- Some improvements for dark mode
- Minor bug fixes


MedCalc 23.0.1
- Added the possibility to drag and drop a data file into the MedCalc window
- Dialog boxes in the Tests menu: made the "Comments" input fields optional
- Improved several user-interface elements
- Some improvements for dark mode

Fixed:
- Fixed a font problem in graphs (in non-Western Windows versions)
- Fixed a problem in the calculation of Harrell's C (Cox regression)
- Fixed layout problems when text size is increased in Windows control panel - Accessibility
- Minor bug fixes.


MedCalc 23
- Fixed a problem in the calculation of Harrell's C (Cox regression)
- Added the possibility to drag and drop a data file into the MedCalc window
- Fixed layout problems when text size is increased in Windows control panel - Accessibility
- Dialog boxes in the Tests menu: made the "Comments" input fields optional
- Improved several user-interface elements
- Some improvements for dark mode
- Minor bug fixes


MedCalc 22.032
- Fixed some problems in translated menus and dialog boxes
- Improvements for Dark mode
- Some bug fixes


MedCalc 22.030
- Support for Dark mode
- Fixed a problem that could hinder the use of non-latin characters in file names
- Some bug fixes


MedCalc 22.029
- Support for Dark mode
- Fixed a problem that could hinder the use of non-latin characters in file names


MedCalc 22.026
- Added Inter-Item and Item-Total correlation in Cronbach's alpha
- Added the confidence intervals for the regression coefficients in multiple regression
- Fixed a bug that could hide the standard error of the constant in multiple regression
- MedCalc now allows the X-axis of a histogram to be changed after it has been created
- In Variable properties, added the possibility to mark a variable as categorical and select a reference category (such as used in Logistic regression and Cox proportional-hazards regression)
- Some bug fixes


MedCalc 22.023
- An improvement of the display of subscript/superscript of text in graphs
- Revised dialog boxes - usually resulting in larger text (depending on your screen resolution)
- Fixed a bug in scripts where the system variable $PlotAllPoints was not always processed correctly
- Revised layout of script window
- Fixed a problem in the 32-bits MedCalc version which caused "unknown command" errors in scripts

New script commands and functions:
- SaveGraph(filename, graphid) saves a graph on disk
- FileList([path,][mask]) lists files into a table
- GetOpenFilename([path,][mask]) displays a dialog in which the user can select a file for reading; the function returns the selected file.
- GetSaveFilename([path,][mask]) displays a dialog in which the user can select a file for writing; the function returns the selected file.
- SelectFolder() displays a dialog in which the user can select a disk folder; the function returns the selected folder.

New string function:
- FIND(needle,haystack[,startpos]) returns the position of a specific text within another text
- LTRIM(str) removes leading spaces from text
- TRIM(str) removes all spaces from text except for single spaces between words
- RTRIM(str) removes trailing spaces from text


MedCalc 22.021
- Fixed a problem in the legend for scatter diagram in case a trendline and subgroups were selected
- Some minor bugs fixes


MedCalc 22.020
- Fixed some minor bugs


MedCalc 22.019
- Added an option for a secondary Y-axis in Histograms
- Fixed some minor bugs


MedCalc 22.018
- Fixed a bug in the display of the result of the D'Agostino-Pearson test for normal distribution Create summary statistics table


MedCalc 22.017
- Change log not available for this version


MedCalc 22.016
- New: Waterfall charts


MedCalc 22.014
- Fixed some minor display problems


MedCalc 22.013
- New: Comparison of trimmed means of paired samples
- New: Yuen-Welch test for the comparison of 2 independent trimmed means

Computional notes are given on Calculation of Trimmed Mean, SE and confidence interval
Revision of the definition of "percentage trimmed":
- In previous MedCalc versions, for a 20% trimming, the program would trim 10% at the lower tail and 10% at the higher tail, so 20% in total. This was in agreement with Excel
- In the new MedCalc version, for a 20% trimming, the program trims 20% at the lower tail and 20% at the higher tail, so 40% in total. This is in agreement with SPSS, R and other major statistical packages.
- For the summary statistics report, when recalling older analyses, MedCalc will adapt the % value of the trimmed mean. When you selected a 20% trimmed mean in the old version, the report will show that this is now called a 10% trimmed mean. The reported trimmed mean will remain the same. For new analyses, the new definition will be applied automatically.
- For the trimmed mean spreadsheet functions there will be no conversion and the calculated trimmed mean will always be that corresponding to the revised definition. The calculated trimmed mean will be different.

- Fixed a bug that could cause the program to produce an error when using MedCalc Help in the Help menu


MedCalc 22.012
- New: Comparison of trimmed means of paired samples
- New: Yuen-Welch test for the comparison of 2 independent trimmed means

Computional notes are given on Calculation of Trimmed Mean, SE and confidence interval
Revision of the definition of "percentage trimmed":
- In previous MedCalc versions, for a 20% trimming, the program would trim 10% at the lower tail and 10% at the higher tail, so 20% in total. This was in agreement with Excel
- In the new MedCalc version, for a 20% trimming, the program trims 20% at the lower tail and 20% at the higher tail, so 40% in total. This is in agreement with SPSS, R and other major statistical packages.
- For the summary statistics report, when recalling older analyses, MedCalc will adapt the % value of the trimmed mean. When you selected a 20% trimmed mean in the old version, the report will show that this is now called a 10% trimmed mean. The reported trimmed mean will remain the same. For new analyses, the new definition will be applied automatically.
- For the trimmed mean spreadsheet functions there will be no conversion and the calculated trimmed mean will always be that corresponding to the revised definition. The calculated trimmed mean will be different.


MedCalc 22.009
- Change log not available for this version


MedCalc 22.007
- Fixed a bug that caused text not to be displayed correctly in graph text boxes


MedCalc 22.005
- Change log not available for this version


MedCalc 22.004
- Fixed bugs in MedCalc scripts (ForEach and Proc statements)


MedCalc 22.001
- Version 22 introduces a new file format. The new format is faster and lighter. Important: files saved in MedCalc version 22 cannot be read by previous MedCalc versions. Files saved in all previous MedCalc versions can be read by this version; but when saved, the new file format is used.
- New: Scripts
- New spreadsheet functions EVAL, FREQUENCY, VFREQUENCY, DEVSQ, VDEVSQ, INTERCEPT, VINTERCEPT, STEYX, VSTEYX, TESTNORM and VTESTNORM.
- Redefined the CELL function.
- Fixed a bug in Case control matching when saving the matched data to a new file.
- In Diagnostic test (2x2 table): when predictive value is 0 or 100%, a Clopper-Pearson confidence interval is reported.
- New operators ! (Not), && (And), || (Or)
- The operator != can be used as an alternative to the <> (Not equal) comparison operator. E.g. 5!=1 is true.


MedCalc 20.305
- Fixed a bug in Case control matching when saving the matched data to a new file
- In Diagnostic test (2x2 table): when the predictive value is 0 or 100%, a Clopper-Pearson confidence interval is reported


MedCalc 20.218
- Fixed a problem with the display of the Diagnostic test dialog box


MedCalc 20.217
- In Frequency tables (Chi-squared test) and Fisher's exact test, moved the option to show all percentages from the results window to the dialog box. This fixes a problem with copying-pasting results to other programs
- Fixed a bug in the Categorize function, which could cause the function to always return the default value
- Fixed a problem with multiple monitors


MedCalc 20.216
Fixed:
- In Frequency tables (Chi-squared test) and Fisher's exact test, moved the option to show all percentages from the results window to the dialog box. This fixes a problem with copying-pasting results to other programs.
- Fixed a bug in the Categorize function, which could cause the function to always return the default value
- Fixed a problem with multiple monitors


MedCalc 20.214
- In Frequency tables (Chi-squared test) and Fisher's exact test, moved the option to show all percentages from the results window to the dialog box. This fixes a problem with copying-pasting results to other programs.
- Fixed a bug in the Categorize function, which could cause the function to always return the default value
- Fixed a problem with multiple monitors


MedCalc 20.211
- Some improvements for high resolution screens and minor user-interface changes


MedCalc 20.2
- Added several new options for Correlogram and Correlation table
- Changed the methodology of the calculation of the P-value in the Mann-Whitney test, the Signed rank sum test and paired samples Wilcoxon test. In these tests, when an exact P-value can be calculated, the program will also report the Normal approximation method P-value in a footnote below the table.
- Changed some more visual aspects of windows and dialog boxes (mainly corrections of low contrast issues in Windows 11)
- Corrected a problem that caused the file selector box to remain hidden behind the MedCalc main window when printing to a file or PDF
- Corrected a problem that could fail a logical expression when data were missing.


MedCalc 20.123
- Changed the methodology of the calculation of the exact P-value in the Mann-Whitney test. The new algorithm is based on the U statistic. Exact P-values are reported when both sample sizes are ≤25 and there are no ties.
- In Correlation tables added an option to hide the upper-right triangular part


MedCalc 20.121
Frequencies bar chart: provided options:
- to enter the counts
- to sort the bars by magnitude
- for horizontal display

- Mann-Whitney test: use the large sample statistic when either size is larger than 15 (previously 20)


MedCalc 20.118
- Improved integration with Windows 11


MedCalc 20.116
- Import of Excel *.xls files: changed the handling of text cells (removed the leading apostrophe that was added in previous MedCalc versions).


MedCalc 20.115
Fixed:
- Fixed a bug in Passing-Bablok regression that caused the scatter diagram not to show the regression line when Bootstrapping was enabled.
- Fixed a bug that could cause errors in the post-hoc test of the Friedman test.


MedCalc 20.114
- Fixed a bug in Passing-Bablok regression that caused the scatter diagram not to show the regression line when Bootstrapping was enabled


MedCalc 20.113
- Fixed a bug in Outlier detection when the Shapiro-Francia normality test was used. In that case the linked values did not always redirect to the correct cases in the spreadsheet.


MedCalc 20.112
- Fixed a bug that could cause, in some cases, the use of wrong markers for subgroups in scatter diagrams


MedCalc 20.110
- Fixed a bug in the display of the selected significance level for the post-hoc tests in Anova and Kruskall-Wallis test


MedCalc 20.109
- Fixed a bug in the normality test for residuals in several tests (the results of the Kolmogorov-Smirnov test were not displayed)
- Several other bug fixes and improvements


MedCalc 20.106
- Change log not available for this version


MedCalc 20.105
- Change log not available for this version


MedCalc 20.104
- Corrected a problem in the calculation of Nagelkerke's R2 in Logistic and Probit regression, in case of a large null model −2 Log Likelihood
- Corrected a problem that caused failure of saving very large Excel files (*.xlsx)
- When bootstrapping takes a long time, a dialog box is displayed with the estimated time left, and a button to interrupt the procedure
- New: scientific, mathematical and system Constants
- New functions: Random, Pow10, CountIf, SumIf, BOXCOX Box-Cox transformation, and BOXCOXINV inverse of the Box-Cox transformation
- Improved speed of several statistical procedures


MedCalc 20.100
- Corrected a problem in the calculation of Nagelkerke's R2 in Logistic and Probit regression, in case of a large null model −2 Log Likelihood
- Corrected a problem that caused failure of saving very large Excel files (*.xlsx)
- When bootstrapping takes a long time, a dialog box is displayed with the estimated time left, and a button to interrupt the procedure
- New: scientific, mathematical and system Constants
- New functions: Random, Pow10, CountIf, SumIf, BOXCOX Box-Cox transformation, and BOXCOXINV inverse of the Box-Cox transformation
- Improved speed of several statistical procedures


MedCalc 20.027
- Fixed a problem that caused the program to block when ROC curve analyis was used in very large sample


MedCalc 20.026
- Fixed a bug that caused the Wilcoxon Signed Rank test not to calculate a small sample size test statistic in some circumstances


MedCalc 20.023
- Fixed a bug in the Undo function of the spreadsheet
- Reversed the order of the arguments in the spreadsheet functions CELL and CELLVALUE


MedCalc 20.022
- Added an option to create a backup copy (*.mc1.bak.zip) when you save a *.mc1 file. See Save options.
- Some user-interface and performance improvements


MedCalc 20.019
- In Reports added a button to extract an analysis or graph into a separate window
- Added an option to increase the number of decimal places used in reports, see Reports options
- The dialog boxes for the calculators in the Tests menu and Sample size menu are now non-modal. This means that you can have several calculators open at the same time, without preventing access to the rest of the program.
- Improved algorithm for identifying data points in graphs


MedCalc 20.018
- In Reports added a button to extract an analysis or graph into a separate window
- Added an option to increase the number of decimal places used in reports, see Reports options
- The dialog boxes for the calculators in the Tests menu and Sample size menu are now non-modal. This means that you can have several calculators open at the same time, without preventing access to the rest of the program.
- Improved algorithm for identifying data points in graphs.


MedCalc 20.015
- Added an option to slightly shift ("jitter") coincident data points in scatter diagrams so that the markers do not completely overlap. See Applying jitter in scatter diagrams.
- Several other minor improvements.


MedCalc 20.014
- Several minor bug fixes and improvements.


MedCalc 20.013
- Fixed a bug in Logistic regression which caused the regression curve not to be displayed in the graph.


MedCalc 20.010
- Modified report for Cox proportional-hazards regression includes Harrell's C-index with 95% confidence interval.
- Revised layout of Copy graph options and Export graph options
- In Copy graph options, provided an option Also copy in SVG format. Copying graphs in SVG format is recommended when you are using Office 2016 (when all Office updates are installed), Office 2019 or Office 365.
- Added the confidence interval of the difference in Comparison of correlation coefficients.
- Fixed a bug in the calulation of the specificity corresponding to the Youden index in ROC curve analysis.
- Fixed a problem in formatting the legend in Bland-Altman plots.


MedCalc 20.006
- The Bland-Altman plot and Bland-Altman plot with multiple measurements per subject procedures now also generate a report in addition to the graph.


MedCalc 20.0.5
- Added Partial area under ROC curve and Comparison of partial areas under ROC curves
- In Comparison of Precision-Recall curves added a choice between paires samples or independent samples design.


MedCalc 20
- Added transparency option for drawing objects (text box, rectangle, ellipse).
- Added a shaded area option for the confidence interval of a Kaplan-Meier survival curve, ROC curve, Linear regression, Probit regression, Passing-Pablok regression and Bland-Altman plots (right-click on the confidence interval curve and select a fill color in the "Format..." dialog box).
- Added Sample size calculation for Area Under the Precision-Recall curve.
- Changed the method of calculating the confidence interval for the AUC of precison-recall curves to the Logit method of Boyd et al (2013). The bootstrap method remains available for calculating the confidence interval for the difference of AUCs of two precison-recall curves.
- Added a Subgroups option in Comparison of multiple methods.
- Possibility to enter user-defined values that indicate missing values (e.g. NaN, -99999). This can be found in File menu >  Properties > Missing values tab.
- Color option for missing values (Options panel).
- New spreadsheet functions USRMISSING() and ISMISSING().
- Moved option Enter key moves cell pointer to the Edit menu.
- Expanded color palette for graphs; includes selected colorblind safe colors (Wong, 2011).
- New color selectors.
- Added icons for common menu items.
- Some bug fixes and minor improvements.
- Files created or saved witMedCalc 20 of MedCalc will not be readible by older versions of the software (no backward compatibility). If you exchange a MedCalc file with a colleague who has an older version, he/she can always freely download the most recenMedCalc of MedCalc from our website.


MedCalc 19.8
- Moved the Export graph options (image width & height, DPI) to the Options panel in the Tools menu.
- Added the (exact mid-P double sided) P-value for incidence rate ratio.
- Fixed a problem with the display of numbers (in some cases) when using a digit grouping symbol.
- Provided an option to make all the markers the same across all individuals in Bland-Altman plot with multiple measurements per subject.



MedCalc 19.7.4
- Added an option in Comparison of multiple methods to calculate differences as variable − reference or reference − variable.
- Some improvements for high resolution screens.



MedCalc 19.7
- Added Violin plots.



MedCalc 19.6.4
- Several bug fixes, minor changes, and improvements.



MedCalc 19.5.3
- Added Egger's and Begg's tests for publication bias in meta-analysis.


MedCalc 19.5
Added:
- Precision-recall curve
- Comparison of precision-recall curves

Added support for SVG files (an image file format):
- SVG stands for Scalable Vector Graphics
- SVG images can be edited with Adobe Illustrator, CorelDRAW, Inkscape (Free!), and other popular vector drawing programs (and even with a text editor)
- SVG images are scalable
- SVG images can be printed with high quality at any resolution
- SVG graphics do NOT lose any quality if they are zoomed or resized


MedCalc 19.4
- Added Cochran–Mantel–Haenszel test.
- Added the C-statistic (which is the area under the ROC curve) in Cox proportional-hazards regression.
- Added an option to create a Heat map in scatter diagrams.
- Minor change in the drawing of CI bars in Kaplan-Meier survival curves.
- Corrected a problem in the evaluation of the OR() function.
- Corrected a problem in copying/pasting results from dialog panels.


MedCalc 19.3
- New reports feature allows to compile several analyses into one single report.
- Completely revised Help (F1) function: when your computer is connected to the internet (and can reach https://www.medcalc.org) the help function shows the same complete documentation as the manual on the website.
- Support for Windows XP has been dropped.


MedCalc 19.2.5
- New spreadsheet function AGGREGATE.