Closed rcalinjageman closed 6 months ago
@rcalinjageman, thanks for taking the time to create this issue. If possible (and applicable), please upload to the issue website (https://github.com/jasp-stats/jasp-issues/issues/2698) a screenshot showcasing the problem, and/or a compressed (zipped) .jasp file or the data file that causes the issue. If you would prefer not to make your data publicly available, you can send your file(s) directly to us, issues@jasp-stats.org
I figured out that the issue is with a package I used, ggdist. When JASP installs esci, it is pulling ggdist 3.3.2, which requires ggplot 3.5. Is there a way to force JASP to install ggdist 3.3.1 instead?
@rcalinjageman I am from the translation team, so I do not know this one. But I wanted to chime in to say, that I am a huge fan! I am just now on page 150 of your second edtion. "The new statistics" is a huge step in the right direction for teaching classical statistics to beginners. The idea to include meta-analytic thinking right from the start is the best approach to teach what we can do with CIs, estimates and p's so far - imho. So a warm welcome from me and I will make sure to be the first to translate esci in JASP to german.
@boutinb Do you have an idea how @rcalinjageman could force-pull ggdist instead of ggplot?
@tomtomme -- thanks so much; that made my day. I've managed to trick renv into installing ggdist 3.3.2 and have a first esci analysis running in JASP; looking forward to getting a complete module put together.
@boutinb - I'm guessing that JASP is using a CRAN snapshot or something like that to pull packages. At the moment, it pulls ggplot2 3.4 (a bit behind current release) but ggdist 3.3.2 (current release, which requires ggplot2 3.5). Maybe that's an inconsistency in the current snapshot... not sure. I imagine it will resolve eventually as well. For the moment, I've placed a previous ggdist (3.3.1) with compatibility with ggplot2 3.4 into my renv cache -- and this tricks renv into using that version and I can get analyses running. I know that I can specify >= for a package, but I'm not clear on how I might specify = or a specific version in a way that JASP/renv would respect. Any pointers would be helpful. Thanks!
Hi @rcalinjageman thank you bring new module for JASP!
Yes, we using renv to take a snapshot for packages, so renv packages version on JASP 0.18.3 was fixed. for developer we recommend try to use nightly build at https://static.jasp-stats.org/Nightlies/ which will including new ggolot2 snapshot I think. @RensDofferhoff @Kucharssim any other suggestions?
@rcalinjageman btw we recommend the jaspesci
should be jaspEsci
as a camel case naming.
@rcalinjageman Let us know if you need any pointers on our developement guide.
Thanks - switching to the nightly worked; this report can be closed.
@tomtomme -- thanks. I'm making good progress on a module, but do have some in-the-weeds questions about module development (e.g. I can't seem to get TabView/Tab controls to work... I keep getting "Tab is not a type" even if I add 'import QtQuick.Controls'). Also, if you were willing, it would be a huge help to get a preliminary code review before I get too far along, to make sure I'm proceeding in a way that is suitable for the JASP team. Is there a slack or something I should join? Or regular email would work as well. Thanks.
@JorisGoosen Any idea regarding TabView and who has capacity to review the preliminary code?
We could send @rcalinjageman an invite for our mattermost module development channel.
Edit: If he mails us at info at jasp-stats.org we can respond with an invite
@JorisGoosen We had invite @rcalinjageman and now is in our channel already.
Hi @rcalinjageman, I'm quite impressed by what you could make already! For the TabView, you could have a look at the analyses that use it (JAGS for example). You should not use QtQuick.Controls, but JASP.Controls should be enough. Some remarks on your QML:
columns: 2
for your groups, but sometimes all of your items in the groups have Layout.columnSpan: 2
, which undo the 2 columns. In this case, I would remove this columns: 2
, and the Layout.columnSpan: 2
in all subitems.I am more a QML specialist. For the R side, someone else should have a look (@JohnnyDoorn or @vandenman ?)
@JorisGoosen We had invite @rcalinjageman and now is in our channel already.
haha, ok, well then he should ask us there I guess :)
JASP Version
0.18.3
Commit ID
No response
JASP Module
Other
What analysis are you seeing the problem on?
No response
What OS are you seeing the problem on?
Windows 11
Bug Description
I'm working on a module for JASP that would use the esci package I developed for some analyses focused on effect sizes and confidence intervals.
I used the jasp module template to build a basic "hello world" module. All seems ok, until I call any function from esci -- this throws a namespace error:
My hello world module is here: https://github.com/rcalinjageman/jaspesci
Any pointers in the right direction would be much appreciated.
Expected Behaviour
The analysis should run rather than crash
Steps to Reproduce
Log (if any)
00:03:15.338: Resultstatus of analysis was complete and it will now be processed. 00:03:15.338: Analysis Single Group (0) changes status from: running to: complete 00:03:15.338: Analysis::asJSON(): { "dynamicModule" : { "analysisEntry" : "jasp_estimate_mdiff_one", "moduleMaintainer" : "Robert Calin-Jageman rcalinjageman@dom.edu", "moduleName" : "jaspesci", "moduleVersion" : "0.1.0", "moduleWebsite" : "https://thenewstatistics.com/" }, "hasReport" : false, "id" : 0, "name" : "jasp_estimate_mdiff_one", "options" : { ".meta" : { "variables" : { "shouldEncode" : true } }, "calculationComponents" : false, "ciLevel" : 0.94999999999999996, "effectSize" : "Mean", "extraDetails" : false, "plotHeight" : 320, "plotWidth" : 480, "variables" : [ "drp" ] }, "progress" : null, "results" : { ".meta" : [ { "info" : "", "mustBe" : [], "mustContain" : {}, "name" : "esciText", "title" : "hide me", "type" : "htmlNode" }, { "info" : "", "mustBe" : [ "ciLevel", "variables" ], "mustContain" : {}, "name" : "overviewTable", "title" : "Overview", "type" : "table" } ], "citation" : [ "JASP Team (2024). JASP (Version 0.18.3) [Computer software]." ], "esciText" : { "class" : "", "elementType" : "p", "maxWidth" : "15cm", "name" : "esciText", "rawtext" : "Hello, world", "text" : "
Hello, world
", "title" : "hide me" }, "name" : "", "overviewTable" : { "casesAcrossColumns" : false, "data" : [ { "mean" : 10.0, "mean_LL" : 8.0, "mean_UL" : 12.0, "outcome_variable_name" : "One" }, { "mean" : 11.1, "mean_LL" : 9.0999999999999996, "mean_UL" : 13.1, "outcome_variable_name" : "Two" } ], "footnotes" : [], "name" : "overviewTable", "overTitle" : false, "schema" : { "fields" : [ { "combine" : true, "name" : "outcome_variable_name", "title" : "Outcome variable", "type" : "string" }, { "format" : "sf:4;dp:3", "name" : "mean", "title" : "M", "type" : "number" }, { "format" : "sf:4", "name" : "mean_LL", "overTitle" : "95% CI for Proportion", "title" : "LL", "type" : "number" }, { "format" : "sf:4", "name" : "mean_UL", "overTitle" : "95% CI for Proportion", "title" : "UL", "type" : "number" } ] }, "status" : "complete", "title" : "Overview" } }, "rfile" : "", "status" : "complete", "title" : "Single Group", "titleDef" : "Single Group", "userdata" : null }00:03:15.338: Engine 0 clears current analysis in progress (jasp_estimate_mdiff_one) 00:03:16.840: EngineRepresentation::processEngineResumedReply() for engine #1 00:03:16.840: EngineRepresentation::sendSettings() 00:03:17.053: Watched folder R had a changed directory (file added or removed) on path: C:/Users/rcali/Documents/GitHub/jaspesci/R 00:03:17.053: Module 'jaspesci' being registered for installing (onlyModPkg? true)! 00:03:17.054: Watched folder R had a changed directory (file added or removed) on path: C:/Users/rcali/Documents/GitHub/jaspesci/R 00:03:17.091: DynamicModule::requestJsonForPackageInstallationRequest(): Module (jaspesci) thinks an install isn't needed, but requesting it anyway! 00:03:26.340: Installing packages for module (jaspesci) succeeded! 00:03:26.341: void RibbonModel::dynamicModuleChanged(DynamicModule jaspesci(0x2a989512670)) 00:03:26.342: Analysis::run() for Single Group(0) 00:03:26.342: Analysis Single Group (0) changes status from: complete to: empty 00:03:26.348: Engine #0 shutEngineDown() 00:03:26.348: Engine #0 stopEngine(), _stopRequested will be set 00:03:26.348: informing engine #0 that it ought to stop 00:03:26.353: EngineRepresentation::processEngineStoppedReply() for engine #0 00:03:26.357: R_HOME set to C:/PROGRA~2/JASP/R 00:03:26.357: Windows PATH was changed to: 'C:/Program Files (x86)/JASP;C:/Program Files (x86)/JASP/R/bin;C:/Program Files (x86)/JASP/R/bin/x64' 00:03:26.359: informing engine #0 that it ought to restart 00:03:26.359: Killing and deleting old engine process and replacing it with fresh one 00:03:26.359: Unregistering engine #0 for module 'jaspesci' 00:03:26.359: Setting new engine process to engineRepresentation Engine #0 00:03:26.401: informing engine #0 that it may resume. 00:03:26.401: Registering engine #1 for module 'jaspesci' 00:03:26.550: Analysis Single Group (0) changes status from: empty to: running 00:03:26.775: Resultstatus of analysis was running and it will now be processed. 00:03:26.775: Analysis::asJSON(): { "dynamicModule" : { "analysisEntry" : "jasp_estimate_mdiff_one", "moduleMaintainer" : "Robert Calin-Jageman rcalinjageman@dom.edu", "moduleName" : "jaspesci", "moduleVersion" : "0.1.0", "moduleWebsite" : "https://thenewstatistics.com/" }, "hasReport" : false, "id" : 0, "name" : "jasp_estimate_mdiff_one", "options" : { ".meta" : { "variables" : { "shouldEncode" : true } }, "calculationComponents" : false, "ciLevel" : 0.94999999999999996, "effectSize" : "Mean", "extraDetails" : false, "plotHeight" : 320, "plotWidth" : 480, "variables" : [ "drp" ] }, "progress" : { "label" : "", "value" : -1 }, "results" : { ".meta" : [ { "info" : "", "mustBe" : [], "mustContain" : {}, "name" : "esciText", "title" : "hide me", "type" : "htmlNode" } ], "citation" : [ "JASP Team (2024). JASP (Version 0.18.3) [Computer software]." ], "esciText" : { "class" : "", "elementType" : "p", "maxWidth" : "15cm", "name" : "esciText", "rawtext" : "Hello, world", "text" : "
Hello, world
", "title" : "hide me" }, "name" : "" }, "rfile" : "", "status" : "running", "title" : "Single Group", "titleDef" : "Single Group", "userdata" : null }00:03:26.838: Resultstatus of analysis was fatalError and it will now be processed. 00:03:26.838: Analysis Single Group (0) changes status from: running to: fatalError 00:03:26.838: Analysis::asJSON(): { "dynamicModule" : { "analysisEntry" : "jasp_estimate_mdiff_one", "moduleMaintainer" : "Robert Calin-Jageman rcalinjageman@dom.edu", "moduleName" : "jaspesci", "moduleVersion" : "0.1.0", "moduleWebsite" : "https://thenewstatistics.com/" }, "hasReport" : false, "id" : 0, "name" : "jasp_estimate_mdiff_one", "options" : { ".meta" : { "variables" : { "shouldEncode" : true } }, "calculationComponents" : false, "ciLevel" : 0.94999999999999996, "effectSize" : "Mean", "extraDetails" : false, "plotHeight" : 320, "plotWidth" : 480, "variables" : [ "drp" ] }, "progress" : null, "results" : { ".meta" : [ { "info" : "", "mustBe" : [], "mustContain" : {}, "name" : "esciText", "title" : "hide me", "type" : "htmlNode" }, { "info" : "", "mustBe" : [ "ciLevel", "variables" ], "mustContain" : {}, "name" : "overviewTable", "title" : "Overview", "type" : "table" } ], "citation" : [ "JASP Team (2024). JASP (Version 0.18.3) [Computer software]." ], "error" : true, "errorMessage" : "This analysis terminated unexpectedly.
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]): namespace 'ggplot2' 3.4.4 is already loaded, but >= 3.5.0 is required
analysis(jaspResults = jaspResults, dataset = dataset, options = options)
jasp_estimate_mdiff_one_overview(jaspResults, dataset, options, ready)
jasp_estimate_mdiff_one_overview_fill(overviewTable, dataset, options)
loadNamespace(x)
namespaceImport(ns, loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]), from = package)
loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]])
namespaceImport(ns, loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]), from = package)
loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]])
stop(gettextf('namespace %s %s is already loaded, but %s %s is required', sQuote(package), current, zop, zversion), domain = NA)
To receive assistance with this problem, please report the message above at: https://jasp-stats.org/bug-reports", "esciText" : { "class" : "", "elementType" : "p", "maxWidth" : "15cm", "name" : "esciText", "rawtext" : "Hello, world", "text" : "
Hello, world
", "title" : "hide me" }, "name" : "", "overviewTable" : { "casesAcrossColumns" : false, "data" : [ { "mean" : null, "mean_LL" : null, "mean_UL" : null, "outcome_variable_name" : null } ], "footnotes" : [], "name" : "overviewTable", "overTitle" : false, "schema" : { "fields" : [ { "combine" : true, "name" : "outcome_variable_name", "title" : "Outcome variable", "type" : "string" }, { "format" : "sf:4;dp:3", "name" : "mean", "title" : "M", "type" : "number" }, { "format" : "sf:4", "name" : "mean_LL", "overTitle" : "95% CI for Proportion", "title" : "LL", "type" : "number" }, { "format" : "sf:4", "name" : "mean_UL", "overTitle" : "95% CI for Proportion", "title" : "UL", "type" : "number" } ] }, "status" : "running", "title" : "Overview" } }, "rfile" : "", "status" : "fatalError", "title" : "Single Group", "titleDef" : "Single Group", "userdata" : null }00:03:26.839: Engine 1 clears current analysis in progress (jasp_estimate_mdiff_one) 00:03:28.338: EngineRepresentation::processEngineResumedReply() for engine #0 00:03:28.339: EngineRepresentation::sendSettings() 00:08:27.651: Engine #1 had nothing to do for so long it has decided to shutdown. 00:08:27.651: Engine #1 shutEngineDown() 00:08:27.651: Engine #1 stopEngine(), _stopRequested will be set 00:08:27.651: informing engine #1 that it ought to stop 00:08:27.651: EngineRepresentation::processEngineStoppedReply() for engine #1 00:08:27.651: Engine #1 shutEngineDown() 00:08:27.651: Engine #1 stopEngine(), _stopRequested will be set 00:08:27.651: ~EngineRepresentation() Engine #1 00:08:27.676: Finding/constructing all relevant shared memory objects again. 00:08:27.676: Finding/constructing communication strings 00:08:27.676: Creating JASP-IPC-29392_1-md1 00:08:27.676: Creating JASP-IPC-29392_1-sd1
Final Checklist