diff --git a/NAMESPACE b/NAMESPACE index b0dc707..464b15a 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -2,4 +2,5 @@ import(jaspBase) export(addOne) export(processData) export(processTable) -export(parabola) \ No newline at end of file +export(parabola) +export(interfaceExample) \ No newline at end of file diff --git a/R/examples.R b/R/examples.R index 4158b12..2bf3142 100644 --- a/R/examples.R +++ b/R/examples.R @@ -1,3 +1,51 @@ +interfaceExample <- function(jaspResults, dataset, options) { + # Just show the options as they are understood the R backend + jaspResults[["explanation"]] <- createJaspHtml(title = "User inputs, returned as html", + text = sprintf("Here we show, for pedagogical purposes, the user inputs as they are understood by the R backend.")) + + jaspResults[["logicals"]] <- createJaspHtml( + title = "Logical controls", + text = sprintf("The tick mark is set to: %s + The radio buttons are set to: %s", + as.character(options$my_tick_mark), # These variables are defined in .inst/qml/Interface.qml + as.character(options$radio_buttons)) # Notice we have to be careful with the data type + ) + + jaspResults[["others"]] <- createJaspHtml( + title = "Other controls", + text = sprintf("The chosen dropdown element is: %s + The slider value is: %s", + as.character(options$my_dropdown), + as.character(options$my_slider)) + ) + + jaspResults[["keyboard"]] <- createJaspHtml( + title = "Keyboard controls", + text = sprintf("The integer is set to: %s + The double is set to: %s + The percentage is set to: %s + The confidence interval is set to: %s + The text box is set to: %s", + as.character(options$my_integer), + as.character(options$my_double), + as.character(options$my_percent), + as.character(options$my_ci), + options$my_text) # No data-type conversion needed for text + ) + + jaspResults[["developers"]] <- createJaspHtml( + title = "Note for developers", + text = sprintf("Potential developers will find it useful to inspect the following files: + ") + ) + + return() +} + addOne <- function(jaspResults, dataset, options) { result <- as.character(options$my_number + 1) # options$my_number comes from the menu created by inst/qml/integer.qml diff --git a/README.md b/README.md index f2306a2..7b5d4e9 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,25 @@ # jaspModuleTemplate -This template repository is a starting point for developing a new module for JASP. -It contains the necessary files and structure, plus a numbers of examples to get started. +This template repository contains example functionality, which makes it an excellent starting point for developing a new JASP module. +It contains the necessary files and structure, plus a numbers of examples to get started and to understand JASP's internals. ## How to use this repository -Fork this template repository to your own GitHub account to start developing your module. -You can then clone the repository to your local machine and start developing your module. +1. Fork this template repository to your own GitHub account +2. Clone it to your machine +3. Open JASP and add it as a development module -The repository contains example functionality. -Feel free to reuse and adapt the examples to your needs. +### For newcomers + +It is very illuminating to take a look at our examples **and** at the files that generate them. + +For instance, the image below shows the different menus for the _"Using the interface"_ analysis, together with the files that generate them: + +![](inst/img/JASP.png) + +### For contributors + +Feel free to reuse and adapt to your needs. Feel also free to remove the ones you don't need. ## Contributing back new module to JASP diff --git a/inst/Description.qml b/inst/Description.qml index 58ae563..cc9aad9 100644 --- a/inst/Description.qml +++ b/inst/Description.qml @@ -15,6 +15,27 @@ Description preloadData: true requiresData: true + GroupTitle + { + title: qsTr("Basic interactivity") + } + + Analysis + { + title: qsTr("Using the interface") // Title for window + menu: qsTr("Using the interface") // Title for ribbon + func: "interfaceExample" // Function to be called + qml: "Interface.qml" // Design input window + requiresData: false // Allow to run even without data + } + + Analysis + { + title: qsTr("Loading data") + menu: qsTr("Loading data") + func: "processData" + qml: "Data.qml" + } GroupTitle { @@ -30,14 +51,6 @@ Description requiresData: false // Allow to run even without data } - Analysis - { - title: qsTr("Load data") - menu: qsTr("Load data") - func: "processData" - qml: "Data.qml" - } - Analysis { title: qsTr("Tabular results") diff --git a/inst/img/JASP.png b/inst/img/JASP.png new file mode 100644 index 0000000..c0ec774 Binary files /dev/null and b/inst/img/JASP.png differ diff --git a/inst/img/JASP.png.svg b/inst/img/JASP.png.svg new file mode 100644 index 0000000..16a7298 --- /dev/null +++ b/inst/img/JASP.png.svg @@ -0,0 +1,8660 @@ + + + + + + + + + + + + + + + ./inst/Description.qml + + ./inst/qml/Interface.qml + ./R/examples.R + + diff --git a/inst/qml/Interface.qml b/inst/qml/Interface.qml new file mode 100644 index 0000000..da8154c --- /dev/null +++ b/inst/qml/Interface.qml @@ -0,0 +1,188 @@ +// +// Copyright (C) 2013-2018 University of Amsterdam +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public +// License along with this program. If not, see +// . +// +import QtQuick +import QtQuick.Layouts +import JASP.Controls +import JASP.Widgets +import JASP + +Form +{ + + info: qsTr("This analysis shows you different interface elements of JASP, such as tick marks, text boxes, ... \\ + Its purpose is pedagogical, and its target audience is that of JASP module developers. \\ + \\ + From the technical point of view, the most challenging part of JASP module development is the communication between the QML interface and the R backend. \\ + Playing with the current JASP analysis while simultaneously inspecting the R code in the files `./inst/qml/Interface.qml` and `./R/examples.R` is a good way to learn how this communication works. \\ + \\ + The source code is available at [github.com/jasp-stats/jaspModuleTemplate](https://github.com/jasp-stats/jaspModuleTemplate)") + + Text + { + text: qsTr("This analysis shows you different interface elements of JASP") + // The qsTr wrapper allows for future translations. As a rule of thumb, you should always use qsTr for any text that will be displayed to the user. + } + + Group + { + title: qsTr("Logical controls") + + CheckBox + { + info: qsTr("This is a tick mark that can be used to control the flow of the analysis") + + name: "my_tick_mark" + label: qsTr("Tick mark") + + // We can add some extra control parameters + checked: false // Default value + } + + RadioButtonGroup + { + name: "radio_buttons" + title: qsTr("Radio buttons") + + RadioButton { value: "one value"; label: qsTr("One"); checked: true } // Single-line definition is also possible + RadioButton { value: "another value"; label: qsTr("Another") } + } + } + + Group + { + title: qsTr("Other controls") + + DropDown + { + info: qsTr("This is a dropdown that can be used to select one of a list of options") + + name: "my_dropdown" + label: qsTr("Select an option") + + // We can add some extra control parameters + values: ["option 1", "option 2", "option 3"] + } + + Slider + { + + info: qsTr("This is a slider that can be used to select a value in a range") + + name: "my_slider" + label: qsTr("Select a value") + + // We can add some extra control parameters + min: 0 + max: 1 + value: 0.5 + decimals: 3 + vertical: false + } + } + + Group + { + title: qsTr("Keyboard inputs") + + IntegerField + { + info: qsTr("This is the number that will be used in the operation") + + name: "my_integer" // This will map to options$my_integer in R + label: qsTr("Input an integer") // qsTr allows for future translations + + // We can add some extra control parameters + min: 1 + defaultValue: 10 + fieldWidth: 50 + max: 1000 + } + + DoubleField + { + info: qsTr("This is the number that will be used in the operation") + + name: "my_double" + label: qsTr("Input a number with decimals") + + // We can add some extra control parameters + defaultValue: 3.14 + fieldWidth: 50 + max: 5 + decimals: 2 + } + + PercentField + { + info: qsTr("This is the number that will be used in the operation") + + name: "my_percent" + label: qsTr("Input a percentage") + } + + CIField + { + info: qsTr("This is the number that will be used in the operation") + + name: "my_ci" + label: qsTr("Input a confidence interval") + } + + TextField + { + info: qsTr("This is a text field that can be used to input any text") + + name: "my_text" + label: qsTr("Input some text") + + // We can add some extra control parameters + fieldWidth: 200 + defaultValue: qsTr("Hello world!") + } + } + + Section + { + title: qsTr("Advanced controls") + + + Group + { + title: qsTr("Subordinate menus") + + CheckBox + { + + name: "my_advanced_tick_mark" + label: qsTr("Activate advanced options?") + + // We can add some extra control parameters + checked: false // Default value + + // The tic mark below is only available if the above tick mark is checked + CheckBox + { + name: "my_subordinate_tick_mark" + label: qsTr("Subordinate tick mark") + checked: false // Default value + } + } + } + } + +} diff --git a/jaspModule.Rproj b/jaspModule.Rproj index 497f8bf..538a2c0 100644 --- a/jaspModule.Rproj +++ b/jaspModule.Rproj @@ -1,4 +1,5 @@ Version: 1.0 +ProjectId: d5f8d18a-2ad8-4c10-adcf-c047ae20b669 RestoreWorkspace: Default SaveWorkspace: Default diff --git a/renv.lock b/renv.lock index 3da7007..17c464a 100644 --- a/renv.lock +++ b/renv.lock @@ -1,6 +1,6 @@ { "R": { - "Version": "4.4.2", + "Version": "4.5.0", "Repositories": [ { "Name": "CRAN", @@ -9,59 +9,9 @@ ] }, "Packages": { - "Formula": { - "Package": "Formula", - "Version": "1.2-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats" - ], - "Hash": "7a29697b75e027767a53fde6c903eca7" - }, - "GPArotation": { - "Package": "GPArotation", - "Version": "2024.3-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats" - ], - "Hash": "b8b658ec0d7a6a55d9d01e00e3cafd20" - }, - "Hmisc": { - "Package": "Hmisc", - "Version": "5.2-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Formula", - "R", - "base64enc", - "cluster", - "colorspace", - "data.table", - "foreign", - "ggplot2", - "grid", - "gridExtra", - "gtable", - "htmlTable", - "htmltools", - "knitr", - "methods", - "nnet", - "rmarkdown", - "rpart", - "viridis" - ], - "Hash": "ce88f29ff07b63c77f9b7ac747b9321b" - }, "MASS": { "Package": "MASS", - "Version": "7.3-64", + "Version": "7.3-65", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -72,11 +22,11 @@ "stats", "utils" ], - "Hash": "49d2d8090b74c1179df1aff16201caf8" + "Hash": "a41d0fc833ea756a1136b60a437efe26" }, "Matrix": { "Package": "Matrix", - "Version": "1.7-2", + "Version": "1.7-3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -89,17 +39,17 @@ "stats", "utils" ], - "Hash": "f6a81550f166acbe2cd5229e9ca079b9" + "Hash": "fb578c2b5d796882c60e9f770352f7c4" }, "R6": { "Package": "R6", - "Version": "2.5.1", + "Version": "2.6.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "470851b6d5d0ac559e9d01bb352b4021" + "Hash": "d4335fe7207f1c01ab8c41762f5840d4" }, "RColorBrewer": { "Package": "RColorBrewer", @@ -122,18 +72,6 @@ ], "Hash": "e7bdd9ee90e96921ca8a0f1972d66682" }, - "abind": { - "Package": "abind", - "Version": "1.4-8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods", - "utils" - ], - "Hash": "2288423bb0f20a457800d7fc47f6aa54" - }, "askpass": { "Package": "askpass", "Version": "1.2.1", @@ -144,16 +82,6 @@ ], "Hash": "c39f4155b3ceb1a9a2799d700fbd4b6a" }, - "backports": { - "Package": "backports", - "Version": "1.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e1e1b9d75c37401117b636b7ae50827a" - }, "base64enc": { "Package": "base64enc", "Version": "0.1-3", @@ -164,39 +92,6 @@ ], "Hash": "543776ae6848fde2f48ff3816d0628bc" }, - "bslib": { - "Package": "bslib", - "Version": "0.9.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "base64enc", - "cachem", - "fastmap", - "grDevices", - "htmltools", - "jquerylib", - "jsonlite", - "lifecycle", - "memoise", - "mime", - "rlang", - "sass" - ], - "Hash": "70a6489cc254171fb9b4a7f130f44dca" - }, - "cachem": { - "Package": "cachem", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "fastmap", - "rlang" - ], - "Hash": "cd9a672193789068eb5a2aad65a0dedf" - }, "callr": { "Package": "callr", "Version": "3.7.6", @@ -210,42 +105,16 @@ ], "Hash": "d7e13f49c19103ece9e58ad2d83a7354" }, - "checkmate": { - "Package": "checkmate", - "Version": "2.3.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", - "utils" - ], - "Hash": "0e14e01ce07e7c88fd25de6d4260d26b" - }, "cli": { "Package": "cli", - "Version": "3.6.2", + "Version": "3.6.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52" - }, - "cluster": { - "Package": "cluster", - "Version": "2.1.8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "stats", - "utils" - ], - "Hash": "b361779da7f8b129a1859b6cf243ba58" + "Hash": "16850760556401a2eeb27d39bd11c9cb" }, "codetools": { "Package": "codetools", @@ -257,51 +126,15 @@ ], "Hash": "c089a619a7fae175d149d89164f8c7d8" }, - "colorspace": { - "Package": "colorspace", - "Version": "2.1-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats" - ], - "Hash": "d954cb1c57e8d8b756165d7ba18aa55a" - }, - "corpcor": { - "Package": "corpcor", - "Version": "1.6.10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats" - ], - "Hash": "17ebe3b6d75d09c5bab3891880b34237" - }, "cpp11": { "Package": "cpp11", - "Version": "0.5.1", + "Version": "0.5.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "9df43854f1c84685d095ed6270b52387" - }, - "data.table": { - "Package": "data.table", - "Version": "1.16.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "38bbf05fc2503143db4c734a7e5cab66" + "Hash": "2720e3fd3dad08f34b19b56b3d6f073d" }, "desc": { "Package": "desc", @@ -318,36 +151,14 @@ }, "digest": { "Package": "digest", - "Version": "0.6.35", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "698ece7ba5a4fa4559e3d537e7ec3d31" - }, - "evaluate": { - "Package": "evaluate", - "Version": "1.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "e9651417729bbe7472e32b5027370e79" - }, - "fansi": { - "Package": "fansi", - "Version": "1.0.6", + "Version": "0.6.37", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", - "grDevices", "utils" ], - "Hash": "962174cf2aeb5b9eea581522286a911f" + "Hash": "33698c4b3127fc9f506654607fb73676" }, "farver": { "Package": "farver", @@ -363,19 +174,6 @@ "Repository": "CRAN", "Hash": "aa5e1cd11c2d15497494c5292d7ffcc8" }, - "fdrtool": { - "Package": "fdrtool", - "Version": "1.2.18", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "stats" - ], - "Hash": "d2a06fbed1234e31c6a872aebbf30057" - }, "fontBitstreamVera": { "Package": "fontBitstreamVera", "Version": "0.1.1", @@ -396,18 +194,6 @@ ], "Hash": "f918c5e723f86f409912104d5b7a71d6" }, - "fontawesome": { - "Package": "fontawesome", - "Version": "0.5.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "htmltools", - "rlang" - ], - "Hash": "bd1297f9b5b1fc1372d19e2c4cd82215" - }, "fontquiver": { "Package": "fontquiver", "Version": "0.2.1", @@ -420,33 +206,9 @@ ], "Hash": "fc0f4226379e451057d55419fd31761e" }, - "foreign": { - "Package": "foreign", - "Version": "0.8-88", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods", - "stats", - "utils" - ], - "Hash": "ffaf42daf543339d0961120cb1de57b8" - }, - "fs": { - "Package": "fs", - "Version": "1.6.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "15aeb8c27f5ea5161f9f6a641fafd93a" - }, "gdtools": { "Package": "gdtools", - "Version": "0.4.1", + "Version": "0.4.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -457,11 +219,11 @@ "systemfonts", "tools" ], - "Hash": "169e77416ce3f7ac73fc975909dd5455" + "Hash": "d022502651388a6bb8545988514d8780" }, "ggplot2": { "Package": "ggplot2", - "Version": "3.5.1", + "Version": "3.5.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -482,25 +244,18 @@ "vctrs", "withr" ], - "Hash": "44c6a2f8202d5b7e878ea274b1092426" - }, - "glasso": { - "Package": "glasso", - "Version": "1.11", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "1e1217c1b472d1dbffda819b57dc6d8d" + "Hash": "7ad64861e028a777d7d67ff83231b548" }, "glue": { "Package": "glue", - "Version": "1.7.0", + "Version": "1.8.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "methods" ], - "Hash": "e0b3a53876554bd45879e596cdb10a52" + "Hash": "5899f1eaa825580172bb56c08266f37c" }, "gridExtra": { "Package": "gridExtra", @@ -544,47 +299,6 @@ ], "Hash": "de949855009e2d4d0e52a844e30617ae" }, - "gtools": { - "Package": "gtools", - "Version": "3.9.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "stats", - "utils" - ], - "Hash": "588d091c35389f1f4a9d533c8d709b35" - }, - "highr": { - "Package": "highr", - "Version": "0.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "xfun" - ], - "Hash": "d65ba49117ca223614f71b60d85b8ab7" - }, - "htmlTable": { - "Package": "htmlTable", - "Version": "2.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "checkmate", - "htmltools", - "htmlwidgets", - "knitr", - "magrittr", - "methods", - "rstudioapi", - "stringr" - ], - "Hash": "ca027d8771f2c039aed82f00a81e725b" - }, "htmltools": { "Package": "htmltools", "Version": "0.5.8.1", @@ -601,44 +315,6 @@ ], "Hash": "81d371a9cc60640e74e4ab6ac46dcedc" }, - "htmlwidgets": { - "Package": "htmlwidgets", - "Version": "1.6.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "htmltools", - "jsonlite", - "knitr", - "rmarkdown", - "yaml" - ], - "Hash": "04291cc45198225444a397606810ac37" - }, - "igraph": { - "Package": "igraph", - "Version": "2.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "cli", - "cpp11", - "grDevices", - "graphics", - "lifecycle", - "magrittr", - "methods", - "pkgconfig", - "rlang", - "stats", - "utils", - "vctrs" - ], - "Hash": "db7352c3d239d0a319d2e3d0d040ed16" - }, "isoband": { "Package": "isoband", "Version": "0.2.7", @@ -652,14 +328,14 @@ }, "jaspBase": { "Package": "jaspBase", - "Version": "0.19.2", + "Version": "0.20.0", "Source": "GitHub", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "jasp-stats", "RemoteRepo": "jaspBase", "RemoteRef": "master", - "RemoteSha": "cf7c84b877e1af958dd0d5b228d9a81831002bdd", + "RemoteSha": "9dd637722c25bf0ea035ccaabf58ef9faf36b852", "Remotes": "jasp-stats/jaspGraphs", "Requirements": [ "R6", @@ -676,31 +352,27 @@ "jsonlite", "lifecycle", "methods", - "modules", "officer", "pkgbuild", "plyr", - "qgraph", "ragg", - "remotes", - "rjson", "rvg", "svglite", "systemfonts", "withr" ], - "Hash": "98b18ec61f0bd447d543612016111494" + "Hash": "75eac9c2c157d37e5f503baebdc54be3" }, "jaspGraphs": { "Package": "jaspGraphs", - "Version": "0.19.2", + "Version": "0.20.0", "Source": "GitHub", "RemoteType": "github", "RemoteHost": "api.github.com", "RemoteUsername": "jasp-stats", "RemoteRepo": "jaspGraphs", "RemoteRef": "master", - "RemoteSha": "b469f513870af3b28d84477aa4f4a8f06e154e3c", + "RemoteSha": "c884a4239590cdb08c1f18cbeaad9107395425aa", "Requirements": [ "R6", "RColorBrewer", @@ -713,53 +385,17 @@ "scales", "viridisLite" ], - "Hash": "18d8d081d96bb9675ae3d5d9e63fe48e" - }, - "jpeg": { - "Package": "jpeg", - "Version": "0.1-10", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "031a0b683d001a7519202f0628fc0358" - }, - "jquerylib": { - "Package": "jquerylib", - "Version": "0.1.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "htmltools" - ], - "Hash": "5aab57a3bd297eee1c1d862735972182" + "Hash": "a396da19666830203898f153a70816d2" }, "jsonlite": { "Package": "jsonlite", - "Version": "1.8.8", + "Version": "2.0.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "methods" ], - "Hash": "e1b9c55281c5adc4dd113652d9e26768" - }, - "knitr": { - "Package": "knitr", - "Version": "1.49", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "evaluate", - "highr", - "methods", - "tools", - "xfun", - "yaml" - ], - "Hash": "9fcb189926d93c636dea94fbe4f44480" + "Hash": "b0776f526d36d8bd4a3344a88fe165c4" }, "labeling": { "Package": "labeling", @@ -787,26 +423,6 @@ ], "Hash": "7c5e89f04e72d6611c77451f6331a091" }, - "lavaan": { - "Package": "lavaan", - "Version": "0.6-19", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "graphics", - "methods", - "mnormt", - "numDeriv", - "pbivnorm", - "quadprog", - "stats", - "stats4", - "utils" - ], - "Hash": "78573997f3acd282f34c626ffb6a906d" - }, "lifecycle": { "Package": "lifecycle", "Version": "1.0.4", @@ -830,17 +446,6 @@ ], "Hash": "7ce2733a9826b3aeb1775d56fd305472" }, - "memoise": { - "Package": "memoise", - "Version": "2.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cachem", - "rlang" - ], - "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" - }, "mgcv": { "Package": "mgcv", "Version": "1.9-1", @@ -858,51 +463,9 @@ ], "Hash": "110ee9d83b496279960e162ac97764ce" }, - "mime": { - "Package": "mime", - "Version": "0.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tools" - ], - "Hash": "18e9c28c1d3ca1560ce30658b22ce104" - }, - "mnormt": { - "Package": "mnormt", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c83992ef63553d1e4b97162a4a753470" - }, - "modules": { - "Package": "modules", - "Version": "0.13.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "1485aee3373bcfdbb2dd9048995af2ae" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" - ], - "Hash": "4fd8900853b746af55b81fda99da7695" - }, "nlme": { "Package": "nlme", - "Version": "3.1-167", + "Version": "3.1-168", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -912,33 +475,11 @@ "stats", "utils" ], - "Hash": "abd9318b4073223646c0f9d3ed641904" - }, - "nnet": { - "Package": "nnet", - "Version": "7.3-20", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "stats", - "utils" - ], - "Hash": "c955edf99ff24a32e96bd0a22645af60" - }, - "numDeriv": { - "Package": "numDeriv", - "Version": "2016.8-1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "df58958f293b166e4ab885ebcad90e02" + "Hash": "b1d2ea08d5d392831fbc32c872362b06" }, "officer": { "Package": "officer", - "Version": "0.6.7", + "Version": "0.6.10", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -954,44 +495,25 @@ "xml2", "zip" ], - "Hash": "d6c0a4e796301a5d252de42c92a9a8b9" + "Hash": "d8673b646d055738b68e8c54acabe8cf" }, "openssl": { "Package": "openssl", - "Version": "2.3.2", + "Version": "2.3.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "askpass" ], - "Hash": "bc54d87ebf858b28de18df4bca6528d3" - }, - "pbapply": { - "Package": "pbapply", - "Version": "1.7-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "parallel" - ], - "Hash": "68a2d681e10cf72f0afa1d84d45380e5" - }, - "pbivnorm": { - "Package": "pbivnorm", - "Version": "0.6.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "643e16a7da6aac3e18cadc3e14abb94b" + "Hash": "05ce1ed077e8c97fbb3ec1cb078f1159" }, "pillar": { "Package": "pillar", - "Version": "1.9.0", + "Version": "1.10.2", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "cli", - "fansi", "glue", "lifecycle", "rlang", @@ -999,11 +521,11 @@ "utils", "vctrs" ], - "Hash": "15da5a8412f317beeee6175fbc76f4bb" + "Hash": "1098920a19b5cd5a15bacdc74a89979d" }, "pkgbuild": { "Package": "pkgbuild", - "Version": "1.4.4", + "Version": "1.4.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1014,7 +536,7 @@ "desc", "processx" ], - "Hash": "a29e8e134a460a01e0ca67a4763c595b" + "Hash": "fc9fc4162e79a94f760aac8d328ee6c9" }, "pkgconfig": { "Package": "pkgconfig", @@ -1037,19 +559,9 @@ ], "Hash": "6b8177fd19982f0020743fadbfdbd933" }, - "png": { - "Package": "png", - "Version": "0.1-8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "bd54ba8a0a5faded999a7aab6e46b374" - }, "processx": { "Package": "processx", - "Version": "3.8.4", + "Version": "3.8.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1058,112 +570,29 @@ "ps", "utils" ], - "Hash": "0c90a7d71988856bad2a2a45dd871bb9" + "Hash": "720161b280b0a35f4d1490ead2fe81d0" }, "ps": { "Package": "ps", - "Version": "1.7.6", + "Version": "1.9.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "dd2b9319ee0656c8acf45c7f40c59de7" - }, - "psych": { - "Package": "psych", - "Version": "2.4.12", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "GPArotation", - "grDevices", - "graphics", - "lattice", - "methods", - "mnormt", - "nlme", - "parallel", - "stats" - ], - "Hash": "b6659cfdaf2545e88959f00bdb0a0951" - }, - "qgraph": { - "Package": "qgraph", - "Version": "1.9.8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Hmisc", - "Matrix", - "R", - "Rcpp", - "abind", - "colorspace", - "corpcor", - "fdrtool", - "ggplot2", - "glasso", - "grDevices", - "gtools", - "igraph", - "jpeg", - "lavaan", - "methods", - "parallel", - "pbapply", - "plyr", - "png", - "psych", - "reshape2" - ], - "Hash": "a78e4896ba8e67ceaa1086d664dc72a8" - }, - "quadprog": { - "Package": "quadprog", - "Version": "1.5-8", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5f919ae5e7f83a6f91dcf2288943370d" + "Hash": "093688087b0bacce6ba2f661f36328e2" }, "ragg": { "Package": "ragg", - "Version": "1.3.3", + "Version": "1.4.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "systemfonts", "textshaping" ], - "Hash": "0595fe5e47357111f29ad19101c7d271" - }, - "rappdirs": { - "Package": "rappdirs", - "Version": "0.3.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "5e3c5dc0b071b21fa128676560dbe94d" - }, - "remotes": { - "Package": "remotes", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods", - "stats", - "tools", - "utils" - ], - "Hash": "3ee025083e66f18db6cf27b56e23e141" + "Hash": "1591adde9ce8ff7de58072e4a32b66ce" }, "renv": { "Package": "renv", @@ -1175,86 +604,20 @@ ], "Hash": "397b7b2a265bc5a7a06852524dabae20" }, - "reshape2": { - "Package": "reshape2", - "Version": "1.4.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "Rcpp", - "plyr", - "stringr" - ], - "Hash": "bb5996d0bd962d214a11140d77589917" - }, - "rjson": { - "Package": "rjson", - "Version": "0.2.23", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "7a04e9eff95857dbf557b4e5f0b3d1a8" - }, "rlang": { "Package": "rlang", - "Version": "1.1.3", + "Version": "1.1.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", "utils" ], - "Hash": "42548638fae05fd9a9b5f3f437fbbbe2" - }, - "rmarkdown": { - "Package": "rmarkdown", - "Version": "2.29", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bslib", - "evaluate", - "fontawesome", - "htmltools", - "jquerylib", - "jsonlite", - "knitr", - "methods", - "tinytex", - "tools", - "utils", - "xfun", - "yaml" - ], - "Hash": "df99277f63d01c34e95e3d2f06a79736" - }, - "rpart": { - "Package": "rpart", - "Version": "4.1.24", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "stats" - ], - "Hash": "ad31b457482eda7a12e51c5d8e7b0be4" - }, - "rstudioapi": { - "Package": "rstudioapi", - "Version": "0.17.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5f90cd73946d706cfe26024294236113" + "Hash": "892124978869b74935dc3934c42bfe5a" }, "rvg": { "Package": "rvg", - "Version": "0.3.4", + "Version": "0.3.5", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1266,25 +629,11 @@ "rlang", "xml2" ], - "Hash": "84feb96f75452bfbb4b7858e36bea2c5" - }, - "sass": { - "Package": "sass", - "Version": "0.4.9", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R6", - "fs", - "htmltools", - "rappdirs", - "rlang" - ], - "Hash": "d53dbfddf695303ea4ad66f86e99b95d" + "Hash": "5205600ad4a5632089c51434b30db883" }, "scales": { "Package": "scales", - "Version": "1.3.0", + "Version": "1.4.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1296,15 +645,14 @@ "glue", "labeling", "lifecycle", - "munsell", "rlang", "viridisLite" ], - "Hash": "c19df082ba346b0ffa6f833e92de34d1" + "Hash": "c5bba8f0d1df8c4b9538a40570798d9b" }, "stringi": { "Package": "stringi", - "Version": "1.8.4", + "Version": "1.8.7", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1313,36 +661,24 @@ "tools", "utils" ], - "Hash": "39e1144fd75428983dc3f63aa53dfa91" - }, - "stringr": { - "Package": "stringr", - "Version": "1.5.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "stringi", - "vctrs" - ], - "Hash": "960e2ae9e09656611e0b8214ad543207" + "Hash": "2b56088e23bdd58f89aebf43a0913457" }, "svglite": { "Package": "svglite", - "Version": "2.1.3", + "Version": "2.2.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", + "base64enc", + "cli", "cpp11", - "systemfonts" + "lifecycle", + "rlang", + "systemfonts", + "textshaping" ], - "Hash": "124a41fdfa23e8691cb744c762f10516" + "Hash": "a8a754856a1b29a24cbe269b8e03989a" }, "sys": { "Package": "sys", @@ -1353,11 +689,12 @@ }, "systemfonts": { "Package": "systemfonts", - "Version": "1.2.1", + "Version": "1.2.3", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", + "base64enc", "cpp11", "grid", "jsonlite", @@ -1365,11 +702,11 @@ "tools", "utils" ], - "Hash": "f8b2924480a2679e2bad9750646112fe" + "Hash": "fe31683d2c6fd9a5724bcdf8ed44ded9" }, "textshaping": { "Package": "textshaping", - "Version": "1.0.0", + "Version": "1.0.1", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1381,16 +718,16 @@ "systemfonts", "utils" ], - "Hash": "5d44adc8145c718066b0bc374d142ca1" + "Hash": "75b5813527f4154cb467e4cf60911333" }, "tibble": { "Package": "tibble", - "Version": "3.2.1", + "Version": "3.3.0", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R", - "fansi", + "cli", "lifecycle", "magrittr", "methods", @@ -1400,27 +737,17 @@ "utils", "vctrs" ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" - }, - "tinytex": { - "Package": "tinytex", - "Version": "0.54", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "xfun" - ], - "Hash": "3ec7e3ddcacc2d34a9046941222bf94d" + "Hash": "784b27d0801c3829de602105757b2cd7" }, "utf8": { "Package": "utf8", - "Version": "1.2.4", + "Version": "1.2.6", "Source": "Repository", "Repository": "CRAN", "Requirements": [ "R" ], - "Hash": "62b65c52671e6665f803ff02954446e9" + "Hash": "d526d558be176e9ceb68c3d1e83479b7" }, "uuid": { "Package": "uuid", @@ -1446,19 +773,6 @@ ], "Hash": "c03fa420630029418f7e6da3667aac4a" }, - "viridis": { - "Package": "viridis", - "Version": "0.6.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "ggplot2", - "gridExtra", - "viridisLite" - ], - "Hash": "acd96d9fa70adeea4a5a1150609b9745" - }, "viridisLite": { "Package": "viridisLite", "Version": "0.4.2", @@ -1481,22 +795,9 @@ ], "Hash": "cc2d62c76458d425210d1eb1478b30b4" }, - "xfun": { - "Package": "xfun", - "Version": "0.50", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "stats", - "tools" - ], - "Hash": "44ab88837d3f8dfc66a837299b887fa6" - }, "xml2": { "Package": "xml2", - "Version": "1.3.6", + "Version": "1.3.8", "Source": "Repository", "Repository": "CRAN", "Requirements": [ @@ -1505,21 +806,14 @@ "methods", "rlang" ], - "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" - }, - "yaml": { - "Package": "yaml", - "Version": "2.3.10", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "51dab85c6c98e50a18d7551e9d49f76c" + "Hash": "f5130b2f3d461964bac93cc618013231" }, "zip": { "Package": "zip", - "Version": "2.3.2", + "Version": "2.3.3", "Source": "Repository", "Repository": "CRAN", - "Hash": "2f2ac1424654714391fe94dd69e196a9" + "Hash": "6ebe4b1dc74c3e50e74e316323629583" } } }