diff --git a/Common/r_functionwhitelist.cpp b/Common/r_functionwhitelist.cpp index 35190090b9..2ef0b0aeef 100644 --- a/Common/r_functionwhitelist.cpp +++ b/Common/r_functionwhitelist.cpp @@ -36,6 +36,7 @@ const std::set R_FunctionWhiteList::functionWhiteList { "attr", "attributes", "BoxCox", + "BoxCoxAuto", "binom.test", "by", "c", @@ -95,6 +96,7 @@ const std::set R_FunctionWhiteList::functionWhiteList { "is.na", "is.null", "is.numeric", + "Johnson", "lag", "lapply", "length", @@ -137,6 +139,7 @@ const std::set R_FunctionWhiteList::functionWhiteList { "pmin", "poly", "powerTransform", + "powerTransformAuto", "power.t.test", "predict", "print", @@ -220,6 +223,7 @@ const std::set R_FunctionWhiteList::functionWhiteList { "which.min", "xtabs", "YeoJohnson", + "YeoJohnsonAuto", ".setColumnDataAsScale", ".setColumnDataAsOrdinal", ".setColumnDataAsNominal", ".setColumnDataAsNominalText", "function", "stop", diff --git a/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml b/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml index f7046c248a..6a04ca6a73 100644 --- a/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml +++ b/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml @@ -196,19 +196,24 @@ FocusScope ListElement { type: "separator" } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "log"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("natural logarithm") } - ListElement { type: "function"; friendlyFunctionName: "log\u2082"; functionName: "log2"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("base 2 logarithm") } - ListElement { type: "function"; friendlyFunctionName: "log\u2081\u2080"; functionName: "log10"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("base 10 logarithm") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "logb"; functionParameters: "y,base"; functionParamTypes: "number,number"; toolTip: qsTr("logarithm of y in 'base'") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "exp"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("exponential") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "fishZ"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Fisher's Z-transform (i.e., the inverse hyperbolic tangent) to transform correlations, numbers between -1 and 1 to the real line") } - ListElement { type: "function"; friendlyFunctionName: "fishZ\u207B\u00B9"; functionName: "invFishZ"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Inverse Fisher's Z-transform (i.e., the hyperbolic tangent) to transform real numbers to numbers between -1 and 1") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "logit"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Logit transform (i.e., the inverse of the standard logit function, or log-odds transform) converts numbers between 0 and 1 to the real line.") } - ListElement { type: "function"; friendlyFunctionName: "logit\u207B\u00B9"; functionName: "invLogit"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Inverse logit transform (i.e., the standard logit function) converts numbers on the real line to numbers between 0 and 1.") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "BoxCox"; functionParameters: "y,lambda,shift"; functionParamTypes: "number,number,number"; toolTip: qsTr("Two-parameter Box-Cox transform (transforms values greater than -shift) to stabilize variance and attempt to make the data more normal distribution-like.") } - ListElement { type: "function"; friendlyFunctionName: "BoxCox\u207B\u00B9"; functionName: "invBoxCox"; functionParameters: "y,lambda,shift"; functionParamTypes: "number,number,number"; toolTip: qsTr("Inverse two-parameter Box-Cox transform.") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "powerTransform"; functionParameters: "y,lambda,shift"; functionParamTypes: "number,number,number"; toolTip: qsTr("Two-parameter power transform (transforms values greater than -shift) to stabilize variance and attempt to make the data more normal distribution-like.") } - ListElement { type: "function"; friendlyFunctionName: ""; functionName: "YeoJohnson"; functionParameters: "y,lambda"; functionParamTypes: "number,number"; toolTip: qsTr("Yeo-Johnson transform (transforms any real values) to stabilize variance and attempt to make the data more normal distribution-like.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "log"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("natural logarithm") } + ListElement { type: "function"; friendlyFunctionName: "log\u2082"; functionName: "log2"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("base 2 logarithm") } + ListElement { type: "function"; friendlyFunctionName: "log\u2081\u2080"; functionName: "log10"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("base 10 logarithm") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "logb"; functionParameters: "y,base"; functionParamTypes: "number,number"; toolTip: qsTr("logarithm of y in 'base'") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "exp"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("exponential") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "fishZ"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Fisher's Z-transform (i.e., the inverse hyperbolic tangent) to transform correlations, numbers between -1 and 1 to the real line") } + ListElement { type: "function"; friendlyFunctionName: "fishZ\u207B\u00B9"; functionName: "invFishZ"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Inverse Fisher's Z-transform (i.e., the hyperbolic tangent) to transform real numbers to numbers between -1 and 1") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "logit"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Logit transform (i.e., the inverse of the standard logit function, or log-odds transform) converts numbers between 0 and 1 to the real line.") } + ListElement { type: "function"; friendlyFunctionName: "logit\u207B\u00B9"; functionName: "invLogit"; functionParameters: "y"; functionParamTypes: "number"; toolTip: qsTr("Inverse logit transform (i.e., the standard logit function) converts numbers on the real line to numbers between 0 and 1.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "BoxCox"; functionParameters: "y,lambda,shift,continuityAdjustment"; functionParamTypes: "number,number,number,boolean"; toolTip: qsTr("Two-parameter Box-Cox transform (transforms values greater than -shift) to stabilize variance and attempt to make the data more normal distribution-like.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "BoxCoxAuto"; functionParameters: "y,predictor,groupSize,method,lower,upper,shift,continuityAdjustment"; functionParamTypes: "number,number,number,string,number,number,number,boolean"; toolTip: qsTr("Two-parameter Box-Cox transform with an automatic determination of the shape parameter lambda, according to one of the three of methods:'loglik', 'sd', or 'movingRange'. The search for optimal lambda is bounded within 'lower' and 'upper' limits.") } + ListElement { type: "function"; friendlyFunctionName: "BoxCox\u207B\u00B9"; functionName: "invBoxCox"; functionParameters: "y,lambda,shift,continuityAdjustment"; functionParamTypes: "number,number,number,bool"; toolTip: qsTr("Inverse two-parameter Box-Cox transform.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "powerTransform"; functionParameters: "y,lambda,shift"; functionParamTypes: "number,number,number"; toolTip: qsTr("Two-parameter power transform (scale-invariant Box-Box; transforms values greater than -shift) to stabilize variance and attempt to make the data more normal distribution-like.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "powerTransformAuto"; functionParameters: "y,predictor,groupSize,lower,upper,shift"; functionParamTypes: "number,number,number,number,number,number"; toolTip: qsTr("Two-parameter power transform with an automatic determination of the shape parameter lambda. The search for optimal lambda is bounded within 'lower' and 'upper' limits.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "YeoJohnson"; functionParameters: "y,lambda"; functionParamTypes: "number,number"; toolTip: qsTr("Yeo-Johnson transform (transforms any real values) to stabilize variance and attempt to make the data more normal distribution-like.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "YeoJohnsonAuto"; functionParameters: "y,lower,upper"; functionParamTypes: "number,number,number"; toolTip: qsTr("Yeo-Johnson transform (transforms any real values) with an automatic determination of the shape parameter lambda. The search for optimal lambda is bounded within 'lower' and 'upper' limits.") } + ListElement { type: "function"; friendlyFunctionName: ""; functionName: "Johnson"; functionParameters: "y,lower,upper"; functionParamTypes: "number,number,number"; toolTip: qsTr("Johnson transform (transforms any real values). The search for optimal parameter is bounded within 'lower' and 'upper' limits.") } + ListElement { type: "separator" } ListElement { type: "function"; friendlyFunctionName: ""; functionName: "cut"; functionParameters: "values,numBreaks"; functionParamTypes: "number,number"; toolTip: qsTr("break your data up in numBreaks levels") }