[education/rkward/releases/0.7.3] /: Add option to show standardized coefficients for linear regression
Thomas Friedrichsmeier
null at kde.org
Wed Apr 13 08:41:34 BST 2022
Git commit c57a217594c64845beecc10a925a2407e17a1000 by Thomas Friedrichsmeier.
Committed on 13/04/2022 at 07:41.
Pushed by tfry into branch 'releases/0.7.3'.
Add option to show standardized coefficients for linear regression
M +1 -0 ChangeLog
M +6 -1 rkward/plugins/analysis/regression/linear_regression.js
M +1 -0 rkward/plugins/analysis/regression/linear_regression.rkh
M +2 -1 rkward/plugins/analysis/regression/linear_regression.xml
https://invent.kde.org/education/rkward/commit/c57a217594c64845beecc10a925a2407e17a1000
diff --git a/ChangeLog b/ChangeLog
index 9f6442d7..fb2c0cdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
--- Version 0.7.3 - Apr-21-2022
+- Add option to show standardized coefficients for linear regression
- Fixed: Possible backend hang when closing a data editor before it was done fetching its data
- Fixed: Crash when installing packages from within check installation dialog
- Fixed: Spurious string I18N_ARGUMENT_MISMATCH in several plugins
diff --git a/rkward/plugins/analysis/regression/linear_regression.js b/rkward/plugins/analysis/regression/linear_regression.js
index 8d877922..3487f063 100644
--- a/rkward/plugins/analysis/regression/linear_regression.js
+++ b/rkward/plugins/analysis/regression/linear_regression.js
@@ -1,3 +1,7 @@
+function preprocess() {
+ if (getBoolean("beta")) echo ('require("lm.beta")\n');
+}
+
function calculate () {
var vars = trim (getValue ("x")).replace (/\n/g, " + ");
var intercept = "";
@@ -11,9 +15,10 @@ function calculate () {
model = 'lm (' + getValue ("y") + ' ~ ' + intercept + vars;
if (!simple_mode) model += ', na.action=na.exclude'; // default action of na.omit is a nuisance for fitted values
model += ')';
+ if (getBoolean("beta")) model = 'lm.beta (' + model + ')';
if (simple_mode) {
- echo ('results <- summary.lm (' + model + ')\n');
+ echo ('results <- summary (' + model + ')\n');
} else {
echo ('model <- ' + model + '\n');
if (savemodel) echo ('.GlobalEnv$' + getString ('savemodel') + ' <- model\n');
diff --git a/rkward/plugins/analysis/regression/linear_regression.rkh b/rkward/plugins/analysis/regression/linear_regression.rkh
index a7f884ca..db1d88b8 100644
--- a/rkward/plugins/analysis/regression/linear_regression.rkh
+++ b/rkward/plugins/analysis/regression/linear_regression.rkh
@@ -13,6 +13,7 @@
<setting id="y">The dependent variable. This must be numeric.</setting>
<setting id="x">One or more independent variables, each of the same length as the dependent. Note that factor variables are treated as categorial predictors, while numeric variables are treated as continuous predictors, automatically.</setting>
<setting id="intercept">Should an intercept term be included in the model?</setting>
+ <setting id="beta">Print standardized correlation coefficients? This requires the lm.beta package.</setting>
<caption id="tab_save"/>
<setting id="savemodel">Save the full fitted model.</setting>
<setting id="savefitted">Extract and save predicted values from the model.</setting>
diff --git a/rkward/plugins/analysis/regression/linear_regression.xml b/rkward/plugins/analysis/regression/linear_regression.xml
index cb09d54a..2a1e049f 100644
--- a/rkward/plugins/analysis/regression/linear_regression.xml
+++ b/rkward/plugins/analysis/regression/linear_regression.xml
@@ -10,7 +10,8 @@
<column>
<varslot types="numeric" id="y" source="vars" required="true" label="dependent variable"/>
<varslot types="numeric" id="x" source="vars" required="true" multi="true" label="independent variables"/>
- <checkbox id="intercept" label="include intercept" checked="true"/>
+ <checkbox id="intercept" label="Include intercept" checked="true"/>
+ <checkbox id="beta" label="Show standardized coefficients" checked="false"/>
<stretch/>
</column>
</row>
More information about the rkward-tracker
mailing list