RJafrocto results of
OR-DBM MRMC 2.51 Build 20181028for VanDyke and Franken datasets.
RJafrocsoftware is checked using
R CMD check.
Var(TR)values reported by
OR-DBM MRMC 2.51 Build 20181028and
RJafrocfor Franken dataset.
max(Cov2 - Cov3, 0)constraint while
VarTR= -0.00068389146 while their code reports
msTR - Var + Cov1 + max(Cov2 - Cov3, 0) = -0.00068389146and
msTR - Var + Cov1 + Cov2 - Cov3 = -0.00071276.
VarRvalues (see block of comments in
UtilVarComponentsORnear line 161).
Varare the same between both codes.
LegacyCodeflag is provided to force execution of the original DBM method (2004 paper).
Var(TR). Noticed a small difference in predicted power between forced DBM (0.78574588) and OR methods (0.8004469).
developerbranch and then to the
listsof length 3, with each member (
descriptions) consisting of sub-lists:
ratingscontain 3 elements:
$lesionscontains 3 elements:
$descriptionscontains 7 elements:
developerbranch and then to the
RRRCbranches etc to separate files; likewise for DBM and OR branches, now the files are much shorter and easier to maintain
dataframes, see next comment; this makes for much cleaner and easier printing
listwith data frames
tests/testthat/test-St-Compare2Iowa.Rfor VanDyke dataset
RJafrocresults against OR-DBM MRMC 2.51 for
dataset04converted to ROC (see Iowa code results in
UtilOutputReportconsiderably, by using
print(dataframe)instead of reading values from
dataframevariables and then using
sprintfwith unreadable C-style format codes
SPLIT-PLOTanalysis by returning
Cov3= 0 instead of
masterbranch if it passes Travis
testas otherwise different versions will give
charactersand not match those in goodValues folder
options(stringsAsFactors = FALSE)at beginning of a function, e.g.,
StSignificanceTesting, passes this option onto called functions, e.g,
getOption("stringsAsFactors")to determine state of this option; must restart
Rto obtain default value (
TRUEon the release version); calling a function that sets it to
FALSEkeeps the new value after exiting from function; must restart
Ragain to get proper default.
stringsAsFactorsexplicitly for each
data.framecall, due to different defaults in different verions of
options("stringsAsFactors" = TRUE), as this is
PlotEmpiricalOperatingCharacteristics, where factors are used
option($stringsAsFactors) = TRUE(
stringsAsFactorsis case sensitive!)
options(stringsAsFactors = FALSE)explicitly at the beginning of the code, in order to work in current and previous version of R (i.e., release and old-release)
FitCorCbmRoc) should set
options(stringsAsFactors = TRUE)in order to work in
developerversion of R, where default is
options("stringsAsFactors") = FALSE
OR DBM MRMC 2.51 <beta> Build 20181028 </beta>
VmWare Fusion; no luck, even after following directins twice on website
StSignificanceTesting(dataset02, method = "ORH", option = "FRRC")- done
testthatall combinations of
StSignificanceTestingdepending on choice of
option- almost done
RJafrocBookis klutzy - WIP
UtilVarComponentORto allow comparison with
DeLongfor two datasets
dataset04converted to ROC
RJafrocBookcode passes Travis
RJafrocto eliminate code duplication and improve style in all signficance testing functions - move this to issues
StSignificanceTesting(rocData1R, FOM = "Wilcoxon", method = "ORH")
StSignificanceTestingSingleFixedFactorwhich currently only handles
DBMHmethod - add to issues
RJafrocBookcode passes Travis
RJafocBook, DBMH chapter, so there is at least one person who benefited from
ORHmethod to lower case (“jackknife” or “bootstrap”)
extdata/datasetsso I dont get file size error (extdata was 2.5 MB, reduced to 1.3)
StDBMHAnalysis.Rthat fixed test that I had to skip on mac for
context("SignificanceTestingAllCombinations"). Need to get this fix (lines 45-51) over to cran2 branch as I am thinking of splitting the package up by separating the
cran2branch as the base package
RJafrocfor new package
RJafroc2. This would solve the file size problems that I am running into. Just an idea.
GitHuband merged with
options(stringsAsFactors = FALSE)
R CMD checkI set
options(stringsAsFactor=FALSE)near beginning of each plotting function (3 functions) using
levels()to convert strings to factor levels
stringsAsFactor=TRUEin each call to
R CMD checksuccessfully
cran2-update/masterbranch for content relating to this version
datasetFROCSpcorresponding to modalities 4,5 of
StORHAnalysis.Rand to work with SP dataset provided
method = "ORH"and
covEstMethod= “jackknife” is used
Ch00Vig5CreateSplitPlotDataset.Rmd; confirmed it is read without error!!
inst/FixRJafrocDatasets/ConvertDataset.R; worked on
.xlsinput does not work*; took it out as an allowed option; probably has to do with
truthTableStrwith a data file that has only 1 and 3 lesions per case; was concerned about 4th dimension of
Dropbox/RJafrocChecks/truthTableStr.xlsxfor results of checks; note that fourth dimension will be 4, even though there are no cases with 2 lesions
truthTableStr- more for my sake
inst/extdata/datasets; found missing file
SimulateFrocFromLrocDataset.R- not sure why I took it out;
OldFormatfile when read creates identical dataset to that created by
NewFormat: basically two Excel fiies are identical except old format lacks the three extra columns; see
UtilFigureOfMeritto accomodate split plot dataset with varying number of cases for each reader
inst/extdata/toyFiles/FROC/FrocDataSpVaryK1K2.xlsxthat really exercises the
DfReadDataFilefunction (case index is unsorted); resorted to data frames and sorting to successfully read it (it is used in three places - truthTableStr, NL and LL). See
inst/extdata/testUtilFigureOfMerit/*.Rfor exercising files
developmentbranch while using
GitHub; decided to do
DfReadDataFile()to allow for split plot datasets completed.
newExcelFileFormat = TRUEas otherwise the code defaults to the old Excel format.
TruthTableStris created in
checkTruthTable()which is used in subsequent read NL and LL worksheets.
-Infs for 1-ratings; need to check other ROC data files.
msTC <- msTC * J/((I - 1) * (Ktemp - 1))has been corrected
test-StSignificance-testing.Rat line 128
PlotEmpiricalOperatingCharacteristics()now accepts ROC, FROC and LROC datasets.
legend.positionargument to allow better positioning of legend.
Ch19Vig1FrocSampleSize.Rmd: Compares FROC power to ROC power.
Ch19Vig2FrocSampleSize.Rmd: FROC power calculation for a number of situations.
SsFrocNhRsmModel(): constructs an RSM-based model, which allows one to relate an ROC effect size to a wAFROC effect size, and returns parameters of model to allow FOM estimation for ROC and wAFROC. Following functions are used to calculate the lesion distribution and lesion weights arrays:
UtilLesionDistribution: renamed to
StSignificanceTesting(): corrects errors affecting
method = "ORH"and
covEstMethod = "Jackknife". I messed up while trying to simplify XZ code. It calls:
JAFROCon virtual Windows 8 machine and saved results (inst/VarCompDiscrepancy/includedFrocData_Inferred_ROC.txt) to validate current significance testing functions. Included unit tests in
StOldCode.R) to compare against current significance testing code. Included unit tests in
gpfMyFOM(): interpolation error in LROC PCL and ALROC FOMs. Hand calculations showed that the
approxfunction did not work for small datasets. Wrote my own simple interpolation code. See
gpfMyFOM.R. See ChkLrocFoms.xlsx in
inst/StSigTestingfor details on hand calculation of LROC FOMs.
FPFValue, 0.2 or less.
FPFValueto accommodate LROC datasets.
StSignificanceTestingCadVsRadiologists(): CAD results updated (only values for
FPFValue0.2 or less were affected); see
inst/CadTesting. See CadTestingNicoData.xlsx in
inst/CadTesting. Included unit tests in
StSignificanceTestingCadVsRadiologists(): cleaned up and now runs all FOMs.
SimulateLrocDataset(): FROC to LROC simulator based on RSM. Could be used for NH testing. RSM can now predict all paradigm data.
DfFroc2Lroc(): Simulates an “AUC-equivalent” LROC dataset from an FROC dataset. This is neat!
DfLroc2Froc(): Simulates an “AUC-equivalent” FROC dataset from an LROC dataset.
DfLroc2Roc(): convert LROC dataset to ROC dataset.
dataset2ratings()has been corrected.
SignificanceTestingfunctions now accept variance components, without having to specify a dataset.
StSignificanceTestingCadVsRadiologistshas been renamed to
CadVsRadPlots(). It should be deprecated in future as
PlotRsmOperatingCharacteristics()has more consistent visual output (and capabilities like handling lists of treatments and readers).
SimulateLrocDataset()predict both flattening out of LROC plot and wAFROC going to (1,1)?
Solarisfailure (Peter Philips)
UtilPseudoValues.Rthat was caught by
StSignificanceTesting.Rthat was caught by
R CMD checkgenerates
testthatfailure when run under
RStudio, see following output, but not when run as
* checking tests ... Running ‘testthat.R’ [158s/160s] ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: Component "Source": Attributes: < Component "levels": 3 string mismatches > List member = 2, Dataset = dataset02, FOM = Wilcoxon, method = DBMH ── 2. Failure: SignificanceTestingAllCombinations (@test-significance-te CurrentValues[[listMem]] not equal to GoodValues[[listMem]]. Component "Source": Attributes: < Component "levels": 3 string mismatches > List member = 2, Dataset = dataset05, FOM = HrAuc, method = DBMH
travis-citesting after each push; and build passing badges, etc.
caToolspackage, which was not being supported; extracted function
trapz()from it and inserted directly into
gpfMyFOM.R- see comments in that file of what led to this
xlsxpackage, which requires
JAVA, replaced with dependence on
openxlsxpackage. Was having difficulty installing
rJavacorrectly after each
UtilOutputReportthat was preventing overwriting of existing output file, even when the user keys “y” in response to prompt
CORCBM, fitting and related functions to make package current with 2017 CORCBM publication.
PlotEmpiricalCharacteristics.Rthat was giving incorrect plots for other than
ChisqrGoodnessOfFitfunction, replacing 3 functions
genericPlotROC.Rinstead of 3 functions
SsFROCPowerGivenJK: FROC power is implemented in Online Appendix Chapter 19 (see email exchange with Kota Aoyagi)
A “shiny” based GUI has been added, accessed by the function
RJafrocGui(). This allows a user only interested in analyzing a data file to access the underlying code in a “user friendly” way. The GUI is similar in functionality to that of Windows JAFROC 4.2.1 software.
For the curve plotting functions, legend position and direction are automatically decided if they are not explicityly specified.
The the output number of significant digits for statistical power in power table has been set to 3.
Variance and covariance calculation error for ROI data has been fixed.
A bug in the JAFROC data reading function that caused an error when encountering non-numeric values has been fixed.
Floating point ratings are rounded to 6 significant digits when saving a dataset in JAFROC format.
A bug in the plotting routine that affected plots for a single rating FROC dataset has been fixed.
A bug in the plotting of AFROC curves for a dataset containing only non-diseased cases has been fixed.