diff --git a/instat/dlgCalculator.vb b/instat/dlgCalculator.vb
index 2764601a449..88692cc0869 100644
--- a/instat/dlgCalculator.vb
+++ b/instat/dlgCalculator.vb
@@ -141,6 +141,8 @@ Public Class dlgCalculator
Me.Size = New System.Drawing.Size(iBasicWidth * 1.49, Me.Height)
Case "Strings (Character Columns)"
Me.Size = New System.Drawing.Size(iBasicWidth * 1.41, Me.Height)
+ Case "Factor"
+ Me.Size = New System.Drawing.Size(iBasicWidth * 1.42, Me.Height)
Case "Probability"
Me.Size = New System.Drawing.Size(iBasicWidth * 1.59, Me.Height)
Case "Dates"
diff --git a/instat/ucrCalculator.Designer.vb b/instat/ucrCalculator.Designer.vb
index bc188e12ed2..279d10a14b7 100644
--- a/instat/ucrCalculator.Designer.vb
+++ b/instat/ucrCalculator.Designer.vb
@@ -297,6 +297,27 @@ Partial Class ucrCalculator
Me.cmdMedianHL = New System.Windows.Forms.Button()
Me.cmdCircMedian = New System.Windows.Forms.Button()
Me.cmdCircMean = New System.Windows.Forms.Button()
+ Me.grpFactor = New System.Windows.Forms.GroupBox()
+ Me.cmdShuffle = New System.Windows.Forms.Button()
+ Me.cmdShift = New System.Windows.Forms.Button()
+ Me.cmdReverse = New System.Windows.Forms.Button()
+ Me.cmdReorder = New System.Windows.Forms.Button()
+ Me.cmdRelevel = New System.Windows.Forms.Button()
+ Me.cmdRecode = New System.Windows.Forms.Button()
+ Me.cmdOther = New System.Windows.Forms.Button()
+ Me.cmdFmatch = New System.Windows.Forms.Button()
+ Me.cmdLump = New System.Windows.Forms.Button()
+ Me.cmdInseq = New System.Windows.Forms.Button()
+ Me.cmdInfreq = New System.Windows.Forms.Button()
+ Me.cmdInorder = New System.Windows.Forms.Button()
+ Me.cmdAdd_na = New System.Windows.Forms.Button()
+ Me.cmdExpand = New System.Windows.Forms.Button()
+ Me.cmdDrop = New System.Windows.Forms.Button()
+ Me.cmdCross = New System.Windows.Forms.Button()
+ Me.cmdCollapse = New System.Windows.Forms.Button()
+ Me.cmdConcat = New System.Windows.Forms.Button()
+ Me.cmdFactor = New System.Windows.Forms.Button()
+ Me.cmdAnon = New System.Windows.Forms.Button()
Me.ucrInputCalOptions = New instat.ucrInputComboBox()
Me.ucrSaveResultInto = New instat.ucrInputComboBox()
Me.ucrInputTryMessage = New instat.ucrInputTextBox()
@@ -312,6 +333,7 @@ Partial Class ucrCalculator
Me.grpMaths.SuspendLayout()
Me.grpWakefield.SuspendLayout()
Me.grpCircular.SuspendLayout()
+ Me.grpFactor.SuspendLayout()
Me.SuspendLayout()
'
'lblExpression
@@ -2097,6 +2119,152 @@ Partial Class ucrCalculator
Me.cmdCircMean.Name = "cmdCircMean"
Me.cmdCircMean.UseVisualStyleBackColor = True
'
+ 'grpFactor
+ '
+ Me.grpFactor.Controls.Add(Me.cmdShuffle)
+ Me.grpFactor.Controls.Add(Me.cmdShift)
+ Me.grpFactor.Controls.Add(Me.cmdReverse)
+ Me.grpFactor.Controls.Add(Me.cmdReorder)
+ Me.grpFactor.Controls.Add(Me.cmdRelevel)
+ Me.grpFactor.Controls.Add(Me.cmdRecode)
+ Me.grpFactor.Controls.Add(Me.cmdOther)
+ Me.grpFactor.Controls.Add(Me.cmdFmatch)
+ Me.grpFactor.Controls.Add(Me.cmdLump)
+ Me.grpFactor.Controls.Add(Me.cmdInseq)
+ Me.grpFactor.Controls.Add(Me.cmdInfreq)
+ Me.grpFactor.Controls.Add(Me.cmdInorder)
+ Me.grpFactor.Controls.Add(Me.cmdAdd_na)
+ Me.grpFactor.Controls.Add(Me.cmdExpand)
+ Me.grpFactor.Controls.Add(Me.cmdDrop)
+ Me.grpFactor.Controls.Add(Me.cmdCross)
+ Me.grpFactor.Controls.Add(Me.cmdCollapse)
+ Me.grpFactor.Controls.Add(Me.cmdConcat)
+ Me.grpFactor.Controls.Add(Me.cmdFactor)
+ Me.grpFactor.Controls.Add(Me.cmdAnon)
+ resources.ApplyResources(Me.grpFactor, "grpFactor")
+ Me.grpFactor.Name = "grpFactor"
+ Me.grpFactor.TabStop = False
+ '
+ 'cmdShuffle
+ '
+ resources.ApplyResources(Me.cmdShuffle, "cmdShuffle")
+ Me.cmdShuffle.Name = "cmdShuffle"
+ Me.cmdShuffle.UseVisualStyleBackColor = True
+ '
+ 'cmdShift
+ '
+ resources.ApplyResources(Me.cmdShift, "cmdShift")
+ Me.cmdShift.Name = "cmdShift"
+ Me.cmdShift.UseVisualStyleBackColor = True
+ '
+ 'cmdReverse
+ '
+ resources.ApplyResources(Me.cmdReverse, "cmdReverse")
+ Me.cmdReverse.Name = "cmdReverse"
+ Me.cmdReverse.UseVisualStyleBackColor = True
+ '
+ 'cmdReorder
+ '
+ resources.ApplyResources(Me.cmdReorder, "cmdReorder")
+ Me.cmdReorder.Name = "cmdReorder"
+ Me.cmdReorder.UseVisualStyleBackColor = True
+ '
+ 'cmdRelevel
+ '
+ resources.ApplyResources(Me.cmdRelevel, "cmdRelevel")
+ Me.cmdRelevel.Name = "cmdRelevel"
+ Me.cmdRelevel.UseVisualStyleBackColor = True
+ '
+ 'cmdRecode
+ '
+ resources.ApplyResources(Me.cmdRecode, "cmdRecode")
+ Me.cmdRecode.Name = "cmdRecode"
+ Me.cmdRecode.UseVisualStyleBackColor = True
+ '
+ 'cmdOther
+ '
+ resources.ApplyResources(Me.cmdOther, "cmdOther")
+ Me.cmdOther.Name = "cmdOther"
+ Me.cmdOther.UseVisualStyleBackColor = True
+ '
+ 'cmdFmatch
+ '
+ resources.ApplyResources(Me.cmdFmatch, "cmdFmatch")
+ Me.cmdFmatch.Name = "cmdFmatch"
+ Me.cmdFmatch.UseVisualStyleBackColor = True
+ '
+ 'cmdLump
+ '
+ resources.ApplyResources(Me.cmdLump, "cmdLump")
+ Me.cmdLump.Name = "cmdLump"
+ Me.cmdLump.UseVisualStyleBackColor = True
+ '
+ 'cmdInseq
+ '
+ resources.ApplyResources(Me.cmdInseq, "cmdInseq")
+ Me.cmdInseq.Name = "cmdInseq"
+ Me.cmdInseq.UseVisualStyleBackColor = True
+ '
+ 'cmdInfreq
+ '
+ resources.ApplyResources(Me.cmdInfreq, "cmdInfreq")
+ Me.cmdInfreq.Name = "cmdInfreq"
+ Me.cmdInfreq.UseVisualStyleBackColor = True
+ '
+ 'cmdInorder
+ '
+ resources.ApplyResources(Me.cmdInorder, "cmdInorder")
+ Me.cmdInorder.Name = "cmdInorder"
+ Me.cmdInorder.UseVisualStyleBackColor = True
+ '
+ 'cmdAdd_na
+ '
+ resources.ApplyResources(Me.cmdAdd_na, "cmdAdd_na")
+ Me.cmdAdd_na.Name = "cmdAdd_na"
+ Me.cmdAdd_na.UseVisualStyleBackColor = True
+ '
+ 'cmdExpand
+ '
+ resources.ApplyResources(Me.cmdExpand, "cmdExpand")
+ Me.cmdExpand.Name = "cmdExpand"
+ Me.cmdExpand.UseVisualStyleBackColor = True
+ '
+ 'cmdDrop
+ '
+ resources.ApplyResources(Me.cmdDrop, "cmdDrop")
+ Me.cmdDrop.Name = "cmdDrop"
+ Me.cmdDrop.UseVisualStyleBackColor = True
+ '
+ 'cmdCross
+ '
+ resources.ApplyResources(Me.cmdCross, "cmdCross")
+ Me.cmdCross.Name = "cmdCross"
+ Me.cmdCross.UseVisualStyleBackColor = True
+ '
+ 'cmdCollapse
+ '
+ resources.ApplyResources(Me.cmdCollapse, "cmdCollapse")
+ Me.cmdCollapse.Name = "cmdCollapse"
+ Me.cmdCollapse.UseVisualStyleBackColor = True
+ '
+ 'cmdConcat
+ '
+ resources.ApplyResources(Me.cmdConcat, "cmdConcat")
+ Me.cmdConcat.Name = "cmdConcat"
+ Me.cmdConcat.UseVisualStyleBackColor = True
+ '
+ 'cmdFactor
+ '
+ resources.ApplyResources(Me.cmdFactor, "cmdFactor")
+ Me.cmdFactor.Name = "cmdFactor"
+ Me.cmdFactor.UseVisualStyleBackColor = True
+ '
+ 'cmdAnon
+ '
+ resources.ApplyResources(Me.cmdAnon, "cmdAnon")
+ Me.cmdAnon.Name = "cmdAnon"
+ Me.cmdAnon.UseVisualStyleBackColor = True
+ '
'ucrInputCalOptions
'
Me.ucrInputCalOptions.AddQuotesIfUnrecognised = True
@@ -2140,6 +2308,7 @@ Partial Class ucrCalculator
'
resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+ Me.Controls.Add(Me.grpFactor)
Me.Controls.Add(Me.grpCircular)
Me.Controls.Add(Me.grpWakefield)
Me.Controls.Add(Me.grpLogical)
@@ -2171,6 +2340,7 @@ Partial Class ucrCalculator
Me.grpMaths.ResumeLayout(False)
Me.grpWakefield.ResumeLayout(False)
Me.grpCircular.ResumeLayout(False)
+ Me.grpFactor.ResumeLayout(False)
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -2439,4 +2609,25 @@ Partial Class ucrCalculator
Friend WithEvents cmdCircRho As Button
Friend WithEvents cmdCircQuantile As Button
Friend WithEvents cmdCircular As Button
+ Friend WithEvents grpFactor As GroupBox
+ Friend WithEvents cmdShuffle As Button
+ Friend WithEvents cmdShift As Button
+ Friend WithEvents cmdReverse As Button
+ Friend WithEvents cmdReorder As Button
+ Friend WithEvents cmdRelevel As Button
+ Friend WithEvents cmdRecode As Button
+ Friend WithEvents cmdOther As Button
+ Friend WithEvents cmdFmatch As Button
+ Friend WithEvents cmdLump As Button
+ Friend WithEvents cmdInseq As Button
+ Friend WithEvents cmdInfreq As Button
+ Friend WithEvents cmdInorder As Button
+ Friend WithEvents cmdAdd_na As Button
+ Friend WithEvents cmdExpand As Button
+ Friend WithEvents cmdDrop As Button
+ Friend WithEvents cmdCross As Button
+ Friend WithEvents cmdCollapse As Button
+ Friend WithEvents cmdConcat As Button
+ Friend WithEvents cmdFactor As Button
+ Friend WithEvents cmdAnon As Button
End Class
diff --git a/instat/ucrCalculator.resx b/instat/ucrCalculator.resx
index d55b03df15f..cc84db3bc4b 100644
--- a/instat/ucrCalculator.resx
+++ b/instat/ucrCalculator.resx
@@ -148,7 +148,7 @@
$this
- 19
+ 20
True
@@ -181,7 +181,7 @@
$this
- 14
+ 15
NoControl
@@ -211,7 +211,7 @@
$this
- 16
+ 17
NoControl
@@ -241,7 +241,7 @@
$this
- 9
+ 10
True
@@ -274,7 +274,7 @@
$this
- 10
+ 11
cmdClear
@@ -532,7 +532,7 @@
$this
- 12
+ 13
NoControl
@@ -1369,7 +1369,7 @@
$this
- 8
+ 9
NoControl
@@ -2167,7 +2167,7 @@
$this
- 6
+ 7
NoControl
@@ -3082,7 +3082,7 @@
$this
- 3
+ 4
NoControl
@@ -4099,7 +4099,7 @@
$this
- 7
+ 8
Microsoft Sans Serif, 8.25pt
@@ -4999,7 +4999,7 @@
$this
- 2
+ 3
NoControl
@@ -6277,7 +6277,7 @@
$this
- 5
+ 6
Microsoft Sans Serif, 8.25pt
@@ -7177,7 +7177,7 @@
$this
- 4
+ 5
NoControl
@@ -9490,7 +9490,7 @@
$this
- 1
+ 2
Microsoft Sans Serif, 6.25pt
@@ -9822,6 +9822,222 @@
53
+
+ cmdCircular
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 0
+
+
+ cmdCircQuantile
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 1
+
+
+ cmdCircMax
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 2
+
+
+ cmdA1
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 3
+
+
+ cmdAngVar
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 4
+
+
+ cmdCircRho
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 5
+
+
+ cmdCircQ3
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 6
+
+
+ cmdCircQ1
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 7
+
+
+ cmdCircMin
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 8
+
+
+ cmdAngDev
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 9
+
+
+ cmdCircVar
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 10
+
+
+ cmdCircSd
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 11
+
+
+ cmdCircRange
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 12
+
+
+ cmdMedianHL
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 13
+
+
+ cmdCircMedian
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 14
+
+
+ cmdCircMean
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpCircular
+
+
+ 15
+
+
+ 571, 76
+
+
+ 331, 189
+
+
+ 192
+
+
+ Circular
+
+
+ grpCircular
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 1
+
NoControl
@@ -10254,28 +10470,568 @@
15
-
- 571, 76
+
+ NoControl
-
- 331, 189
+
+ 243, 176
-
- 192
+
+ 80, 40
-
- Circular
+
+ 210
-
- grpCircular
+
+ shuffle
-
+
+ cmdShuffle
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 0
+
+
+ NoControl
+
+
+ 164, 176
+
+
+ 80, 40
+
+
+ 209
+
+
+ shift
+
+
+ cmdShift
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 1
+
+
+ NoControl
+
+
+ 85, 176
+
+
+ 80, 40
+
+
+ 208
+
+
+ reverse
+
+
+ cmdReverse
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 2
+
+
+ NoControl
+
+
+ 6, 176
+
+
+ 80, 40
+
+
+ 207
+
+
+ reorder
+
+
+ cmdReorder
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 3
+
+
+ NoControl
+
+
+ 243, 137
+
+
+ 80, 40
+
+
+ 206
+
+
+ relevel
+
+
+ cmdRelevel
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 4
+
+
+ NoControl
+
+
+ 164, 137
+
+
+ 80, 40
+
+
+ 205
+
+
+ recode
+
+
+ cmdRecode
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 5
+
+
+ NoControl
+
+
+ 85, 137
+
+
+ 80, 40
+
+
+ 204
+
+
+ other
+
+
+ cmdOther
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 6
+
+
+ NoControl
+
+
+ 6, 137
+
+
+ 80, 40
+
+
+ 203
+
+
+ match
+
+
+ cmdFmatch
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 7
+
+
+ NoControl
+
+
+ 243, 98
+
+
+ 80, 40
+
+
+ 202
+
+
+ lump
+
+
+ cmdLump
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 8
+
+
+ NoControl
+
+
+ 164, 98
+
+
+ 80, 40
+
+
+ 201
+
+
+ inseq
+
+
+ cmdInseq
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 9
+
+
+ NoControl
+
+
+ 85, 98
+
+
+ 80, 40
+
+
+ 200
+
+
+ infreq
+
+
+ cmdInfreq
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 10
+
+
+ NoControl
+
+
+ 6, 98
+
+
+ 80, 40
+
+
+ 199
+
+
+ inorder
+
+
+ cmdInorder
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 11
+
+
+ NoControl
+
+
+ 243, 59
+
+
+ 80, 40
+
+
+ 198
+
+
+ add_na
+
+
+ cmdAdd_na
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 12
+
+
+ NoControl
+
+
+ 164, 59
+
+
+ 80, 40
+
+
+ 197
+
+
+ expand
+
+
+ cmdExpand
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 13
+
+
+ NoControl
+
+
+ 85, 59
+
+
+ 80, 40
+
+
+ 196
+
+
+ drop
+
+
+ cmdDrop
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 14
+
+
+ NoControl
+
+
+ 6, 59
+
+
+ 80, 40
+
+
+ 195
+
+
+ cross
+
+
+ cmdCross
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 15
+
+
+ NoControl
+
+
+ 243, 20
+
+
+ 80, 40
+
+
+ 194
+
+
+ collapse
+
+
+ cmdCollapse
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 16
+
+
+ NoControl
+
+
+ 164, 20
+
+
+ 80, 40
+
+
+ 193
+
+
+ concat
+
+
+ cmdConcat
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 17
+
+
+ NoControl
+
+
+ 6, 20
+
+
+ 80, 40
+
+
+ 191
+
+
+ factor
+
+
+ cmdFactor
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 18
+
+
+ NoControl
+
+
+ 85, 20
+
+
+ 80, 40
+
+
+ 192
+
+
+ anon
+
+
+ cmdAnon
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpFactor
+
+
+ 19
+
+
+ 574, 74
+
+
+ 330, 226
+
+
+ 191
+
+
+ Factor
+
+
+ grpFactor
+
+
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
$this
-
+
0
@@ -10300,7 +11056,7 @@
$this
- 11
+ 12
157, 364
@@ -10324,7 +11080,7 @@
$this
- 13
+ 14
124, 316
@@ -10348,7 +11104,7 @@
$this
- 15
+ 16
0, 79
@@ -10372,7 +11128,7 @@
$this
- 17
+ 18
93, 7
@@ -10396,7 +11152,7 @@
$this
- 18
+ 19
True
diff --git a/instat/ucrCalculator.vb b/instat/ucrCalculator.vb
index 2b90ccc2d64..a340a2cb56b 100644
--- a/instat/ucrCalculator.vb
+++ b/instat/ucrCalculator.vb
@@ -52,7 +52,7 @@ Public Class ucrCalculator
End Sub
Public Sub InitialiseControls()
- ucrInputCalOptions.SetItems({"Basic", "Maths", "Logical and Symbols", "Summary", "Strings (Character Columns)", "Probability", "Dates", "Transform", "Wakefield", "Circular"}) ' "Rows" is a temp. name
+ ucrInputCalOptions.SetItems({"Basic", "Maths", "Logical and Symbols", "Summary", "Strings (Character Columns)", "Factor", "Probability", "Dates", "Transform", "Wakefield", "Circular"}) ' "Rows" is a temp. name
ucrInputCalOptions.SetDropDownStyleAsNonEditable()
ucrReceiverForCalculation.Selector = ucrSelectorForCalculations
cmdTry.Enabled = False
@@ -63,6 +63,7 @@ Public Class ucrCalculator
cmdAll.Enabled = False
cmdIsTrue.Enabled = False
cmdIsFalse.Enabled = False
+ cmdConcat.Enabled = False
bControlsInitialised = True
ttCalculator.SetToolTip(cmdRound, "round(x) to round to whole numbers, round(x,2) to round to 2 decimal places, round(x,-2) to round to the nearest 100")
ttCalculator.SetToolTip(cmdSiginf, "signif(x,3) to round to 3 significant figures")
@@ -183,6 +184,7 @@ Public Class ucrCalculator
grpLogical.Visible = False
grpBasic.Visible = True
grpStrings.Visible = False
+ grpFactor.Visible = False
grpProbabilty.Visible = False
grpTransform.Visible = False
grpDates.Visible = False
@@ -197,6 +199,7 @@ Public Class ucrCalculator
grpMaths.Visible = False
grpBasic.Visible = True
grpStrings.Visible = False
+ grpFactor.Visible = False
iHelpCalcID = 127
Me.Size = New Size(iBasicWidth * 1.44, Me.Height)
grpProbabilty.Visible = False
@@ -212,6 +215,7 @@ Public Class ucrCalculator
iHelpCalcID = 128
Me.Size = New Size(iBasicWidth * 1.51, Me.Height)
grpStrings.Visible = False
+ grpFactor.Visible = False
grpProbabilty.Visible = False
grpTransform.Visible = False
grpCircular.Visible = False
@@ -219,6 +223,7 @@ Public Class ucrCalculator
Case "Strings (Character Columns)"
grpDates.Visible = False
grpStrings.Visible = True
+ grpFactor.Visible = False
grpSummary.Visible = False
grpLogical.Visible = False
grpMaths.Visible = False
@@ -229,10 +234,25 @@ Public Class ucrCalculator
grpWakefield.Visible = False
iHelpCalcID = 129
Me.Size = New Size(iBasicWidth * 1.42, Me.Height)
+ Case "Factor"
+ grpFactor.Visible = True
+ grpDates.Visible = False
+ grpSummary.Visible = False
+ grpLogical.Visible = False
+ grpMaths.Visible = False
+ grpBasic.Visible = True
+ grpStrings.Visible = False
+ iHelpCalcID = 127
+ Me.Size = New Size(iBasicWidth * 1.44, Me.Height)
+ grpProbabilty.Visible = False
+ grpTransform.Visible = False
+ grpCircular.Visible = False
+ grpWakefield.Visible = False
Case "Probability"
grpDates.Visible = False
grpProbabilty.Visible = True
grpStrings.Visible = False
+ grpFactor.Visible = False
grpSummary.Visible = False
grpLogical.Visible = False
grpMaths.Visible = False
@@ -246,6 +266,7 @@ Public Class ucrCalculator
grpDates.Visible = True
grpProbabilty.Visible = False
grpStrings.Visible = False
+ grpFactor.Visible = False
grpSummary.Visible = False
grpLogical.Visible = False
grpMaths.Visible = False
@@ -263,6 +284,7 @@ Public Class ucrCalculator
grpLogical.Visible = False
grpMaths.Visible = False
grpStrings.Visible = False
+ grpFactor.Visible = False
grpTransform.Visible = True
grpCircular.Visible = False
grpWakefield.Visible = False
@@ -275,6 +297,7 @@ Public Class ucrCalculator
grpLogical.Visible = False
grpMaths.Visible = False
grpStrings.Visible = False
+ grpFactor.Visible = False
grpTransform.Visible = False
grpCircular.Visible = False
grpWakefield.Visible = True
@@ -287,6 +310,7 @@ Public Class ucrCalculator
grpLogical.Visible = False
grpMaths.Visible = False
grpStrings.Visible = False
+ grpFactor.Visible = False
grpTransform.Visible = False
grpWakefield.Visible = False
grpCircular.Visible = True
@@ -301,6 +325,7 @@ Public Class ucrCalculator
grpMaths.Visible = False
grpTransform.Visible = False
grpStrings.Visible = False
+ grpFactor.Visible = False
grpCircular.Visible = False
grpWakefield.Visible = False
iHelpCalcID = 14
@@ -1893,4 +1918,164 @@ Public Class ucrCalculator
ucrReceiverForCalculation.AddToReceiverAtCursorPosition("circular::circular(x =, modulo = ""2pi"", units = ""radians"")", 36)
End If
End Sub
+
+ Private Sub cmdFactor_Click(sender As Object, e As EventArgs) Handles cmdFactor.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::as_factor(x = , ... )", 8)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::as_factor()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdAnon_Click(sender As Object, e As EventArgs) Handles cmdAnon.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_anon(x = , prefix = "" )", 15)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_anon()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdConcat_Click(sender As Object, e As EventArgs) Handles cmdConcat.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_c(...)", 1)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_c()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdCollapse_Click(sender As Object, e As EventArgs) Handles cmdCollapse.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_collapse(.f = , ..., group_other = FALSE)", 28)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_collapse()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdCross_Click(sender As Object, e As EventArgs) Handles cmdCross.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_cross(.f = , ..., sep = "":"", keep_empty = FALSE)", 38)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_cross()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdDrop_Click(sender As Object, e As EventArgs) Handles cmdDrop.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_drop(f = , only)", 8)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_drop()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdExpand_Click(sender As Object, e As EventArgs) Handles cmdExpand.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_expand(f = , ...)", 7)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_expand()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdAdd_na_Click(sender As Object, e As EventArgs) Handles cmdAdd_na.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_explicit_na(f = , na_level = ""(Missing)"")", 26)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_explicit_na()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdInorder_Click(sender As Object, e As EventArgs) Handles cmdInorder.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_inorder(f = , ordered = NA)", 16)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_inorder()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdInfreq_Click(sender As Object, e As EventArgs) Handles cmdInfreq.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_infreq(f = , ordered = NA)", 16)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_infreq()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdInseq_Click(sender As Object, e As EventArgs) Handles cmdInseq.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_inseq(f = , ordered = NA)", 16)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_inseq()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdLump_Click(sender As Object, e As EventArgs) Handles cmdLump.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_lump(f = , n, prop, w = NULL, other_level = ""Other"", ties.method = c(""min"", ""average"", ""first"", ""last"", ""random"", ""max""))", 113)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_lump()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdFmatch_Click(sender As Object, e As EventArgs) Handles cmdFmatch.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_match(f = , lvls)", 8)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_match()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdOther_Click(sender As Object, e As EventArgs) Handles cmdOther.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_other(f = , keep = , drop = , other_level = ""Other"")", 43)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_other()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdRecode_Click(sender As Object, e As EventArgs) Handles cmdRecode.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_recode(.f = , ...)", 7)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_recode()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdRelevel_Click(sender As Object, e As EventArgs) Handles cmdRelevel.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_relevel(.f = , ..., after = 0L)", 19)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_relevel()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdReorder_Click(sender As Object, e As EventArgs) Handles cmdReorder.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_reorder(.f = , .x = , .fun = median, ..., .desc = FALSE)", 44)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_reorder()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdReverse_Click(sender As Object, e As EventArgs) Handles cmdReverse.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_rev(f = , )", 4)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_rev()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdShift_Click(sender As Object, e As EventArgs) Handles cmdShift.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_shift(f = , n = 1L)", 10)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_shift()", 1)
+ End If
+ End Sub
+
+ Private Sub cmdShuffle_Click(sender As Object, e As EventArgs) Handles cmdShuffle.Click
+ If chkShowArguments.Checked Then
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_shuffle(f = , )", 4)
+ Else
+ ucrReceiverForCalculation.AddToReceiverAtCursorPosition("forcats::fct_shuffle()", 1)
+ End If
+ End Sub
End Class