diff --git a/docs/src/manpage.md b/docs/src/manpage.md index 04914adc9..db32ede54 100644 --- a/docs/src/manpage.md +++ b/docs/src/manpage.md @@ -50,7 +50,7 @@ DESCRIPTION insertion-ordered hash map. This encompasses a variety of data formats, including but not limited to the familiar CSV, TSV, and JSON. (Miller can handle positionally-indexed data as a special case.) This - manpage documents mlr 6.3.0. + manpage documents mlr 6.3.0-dev. EXAMPLES mlr --icsv --opprint cat example.csv @@ -192,11 +192,11 @@ VERB LIST altkv bar bootstrap cat check clean-whitespace count-distinct count count-similar cut decimate fill-down fill-empty filter flatten format-values fraction gap grep group-by group-like having-fields head histogram json-parse - json-stringify join label latin1-to-utf8 utf8-to-latin1 least-frequent - merge-fields most-frequent nest nothing put regularize remove-empty-columns - rename reorder repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle - skip-trivial-records sort sort-within-records split stats1 stats2 step tac - tail tee template top unflatten uniq unsparsify + json-stringify join label latin1-to-utf8 least-frequent merge-fields + most-frequent nest nothing put regularize remove-empty-columns rename reorder + repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle skip-trivial-records + sort sort-within-records split stats1 stats2 step summary tac tail tee + template top utf8-to-latin1 unflatten uniq unsparsify FUNCTION LIST abs acos acosh any append apply arrayify asin asinh asserting_absent @@ -1327,13 +1327,6 @@ VERBS Options: -h|--help Show this message. - utf8-to-latin1 - Usage: mlr utf8-to-latin1, with no options. - Recursively converts record strings from Latin-1 to UTF-8. - For field-level control, please see the utf8_to_latin1 DSL function. - Options: - -h|--help Show this message. - least-frequent Usage: mlr least-frequent [options] Shows the least frequently occurring distinct values for specified field names. @@ -1352,6 +1345,8 @@ VERBS Options: -a {sum,count,...} Names of accumulators. One or more of: count Count instances of fields + null_count Count number of empty-string/JSON-null instances per field + distinct_count Count number of distinct values per field mode Find most-frequently-occurring values for fields; first-found wins tie antimode Find least-frequently-occurring values for fields; first-found wins tie sum Compute sums of specified fields @@ -1363,6 +1358,8 @@ VERBS kurtosis Compute sample kurtosis of specified fields min Compute minimum values of specified fields max Compute maximum values of specified fields + minlen Compute minimum string-lengths of specified fields + maxlen Compute maximum string-lengths of specified fields -f {a,b,c} Value-field names on which to compute statistics. Requires -o. -r {a,b,c} Regular expressions for value-field names on which to compute statistics. Requires -o. @@ -1818,6 +1815,8 @@ VERBS median This is the same as p50 p10 p25.2 p50 p98 p100 etc. count Count instances of fields + null_count Count number of empty-string/JSON-null instances per field + distinct_count Count number of distinct values per field mode Find most-frequently-occurring values for fields; first-found wins tie antimode Find least-frequently-occurring values for fields; first-found wins tie sum Compute sums of specified fields @@ -1829,6 +1828,8 @@ VERBS kurtosis Compute sample kurtosis of specified fields min Compute minimum values of specified fields max Compute maximum values of specified fields + minlen Compute minimum string-lengths of specified fields + maxlen Compute maximum string-lengths of specified fields -f {a,b,c} Value-field names on which to compute statistics --fr {regex} Regex for value-field names on which to compute statistics @@ -1939,6 +1940,48 @@ VERBS https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average for more information on EWMA. + summary + Usage: mlr summary [options] + Show summary statistics about the input data. + + All summarizers: + field_type string, int, etc. -- if a column has mixed types, all encountered types are printed + count +1 for every instance of the field across all records in the input record stream + null_count count of field values either empty string or JSON null + distinct_count count of distinct values for the field + mode most-frequently-occurring value for the field + sum sum of field values + mean mean of the field values + stddev standard deviation of the field values + var variance of the field values + skewness skewness of the field values + minlen length of shortest string representation for the field + maxlen length of longest string representation for the field + min minimum field value + p25 first-quartile field value + median median field value + p75 third-quartile field value + max maximum field value + iqr interquartile range: p75 - p25 + lof lower outer fence: p25 - 3.0 * iqr + lif lower inner fence: p25 - 1.5 * iqr + uif upper inner fence: p75 + 1.5 * iqr + uof upper outer fence: p75 + 3.0 * iqr + + Default summarizers: + field_type count mean min median max null_count distinct_count + + Notes: + * min, p25, median, p75, and max work for strings as well as numbers + * Distinct-counts are computed on string representations -- so 4.1 and 4.10 are counted as distinct here. + * If the mode is not unique in the input data, the first-encountered value is reported as the mode. + + Options: + -a {mean,sum,etc.} Use only the specified summarizers. + -x {mean,sum,etc.} Use all summarizers, except the specified ones. + --all Use all available summarizers. + -h|--help Show this message. + tac Usage: mlr tac [options] Prints records in reverse order from the order in which they were encountered. @@ -1998,6 +2041,13 @@ VERBS from -f, fields from -g, and the top-index field are emitted. For more information please see https://miller.readthedocs.io/en/latest/reference-verbs#top + utf8-to-latin1 + Usage: mlr utf8-to-latin1, with no options. + Recursively converts record strings from Latin-1 to UTF-8. + For field-level control, please see the utf8_to_latin1 DSL function. + Options: + -h|--help Show this message. + unflatten Usage: mlr unflatten [options] Reverses flatten. Example: field with name 'a.b.c' and value 4 @@ -3222,5 +3272,5 @@ SEE ALSO - 2022-07-07 MILLER(1) + 2022-08-01 MILLER(1) diff --git a/docs/src/manpage.txt b/docs/src/manpage.txt index 64433d9b6..f3899f091 100644 --- a/docs/src/manpage.txt +++ b/docs/src/manpage.txt @@ -29,7 +29,7 @@ DESCRIPTION insertion-ordered hash map. This encompasses a variety of data formats, including but not limited to the familiar CSV, TSV, and JSON. (Miller can handle positionally-indexed data as a special case.) This - manpage documents mlr 6.3.0. + manpage documents mlr 6.3.0-dev. EXAMPLES mlr --icsv --opprint cat example.csv @@ -171,11 +171,11 @@ VERB LIST altkv bar bootstrap cat check clean-whitespace count-distinct count count-similar cut decimate fill-down fill-empty filter flatten format-values fraction gap grep group-by group-like having-fields head histogram json-parse - json-stringify join label latin1-to-utf8 utf8-to-latin1 least-frequent - merge-fields most-frequent nest nothing put regularize remove-empty-columns - rename reorder repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle - skip-trivial-records sort sort-within-records split stats1 stats2 step tac - tail tee template top unflatten uniq unsparsify + json-stringify join label latin1-to-utf8 least-frequent merge-fields + most-frequent nest nothing put regularize remove-empty-columns rename reorder + repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle skip-trivial-records + sort sort-within-records split stats1 stats2 step summary tac tail tee + template top utf8-to-latin1 unflatten uniq unsparsify FUNCTION LIST abs acos acosh any append apply arrayify asin asinh asserting_absent @@ -1306,13 +1306,6 @@ VERBS Options: -h|--help Show this message. - utf8-to-latin1 - Usage: mlr utf8-to-latin1, with no options. - Recursively converts record strings from Latin-1 to UTF-8. - For field-level control, please see the utf8_to_latin1 DSL function. - Options: - -h|--help Show this message. - least-frequent Usage: mlr least-frequent [options] Shows the least frequently occurring distinct values for specified field names. @@ -1331,6 +1324,8 @@ VERBS Options: -a {sum,count,...} Names of accumulators. One or more of: count Count instances of fields + null_count Count number of empty-string/JSON-null instances per field + distinct_count Count number of distinct values per field mode Find most-frequently-occurring values for fields; first-found wins tie antimode Find least-frequently-occurring values for fields; first-found wins tie sum Compute sums of specified fields @@ -1342,6 +1337,8 @@ VERBS kurtosis Compute sample kurtosis of specified fields min Compute minimum values of specified fields max Compute maximum values of specified fields + minlen Compute minimum string-lengths of specified fields + maxlen Compute maximum string-lengths of specified fields -f {a,b,c} Value-field names on which to compute statistics. Requires -o. -r {a,b,c} Regular expressions for value-field names on which to compute statistics. Requires -o. @@ -1797,6 +1794,8 @@ VERBS median This is the same as p50 p10 p25.2 p50 p98 p100 etc. count Count instances of fields + null_count Count number of empty-string/JSON-null instances per field + distinct_count Count number of distinct values per field mode Find most-frequently-occurring values for fields; first-found wins tie antimode Find least-frequently-occurring values for fields; first-found wins tie sum Compute sums of specified fields @@ -1808,6 +1807,8 @@ VERBS kurtosis Compute sample kurtosis of specified fields min Compute minimum values of specified fields max Compute maximum values of specified fields + minlen Compute minimum string-lengths of specified fields + maxlen Compute maximum string-lengths of specified fields -f {a,b,c} Value-field names on which to compute statistics --fr {regex} Regex for value-field names on which to compute statistics @@ -1918,6 +1919,48 @@ VERBS https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average for more information on EWMA. + summary + Usage: mlr summary [options] + Show summary statistics about the input data. + + All summarizers: + field_type string, int, etc. -- if a column has mixed types, all encountered types are printed + count +1 for every instance of the field across all records in the input record stream + null_count count of field values either empty string or JSON null + distinct_count count of distinct values for the field + mode most-frequently-occurring value for the field + sum sum of field values + mean mean of the field values + stddev standard deviation of the field values + var variance of the field values + skewness skewness of the field values + minlen length of shortest string representation for the field + maxlen length of longest string representation for the field + min minimum field value + p25 first-quartile field value + median median field value + p75 third-quartile field value + max maximum field value + iqr interquartile range: p75 - p25 + lof lower outer fence: p25 - 3.0 * iqr + lif lower inner fence: p25 - 1.5 * iqr + uif upper inner fence: p75 + 1.5 * iqr + uof upper outer fence: p75 + 3.0 * iqr + + Default summarizers: + field_type count mean min median max null_count distinct_count + + Notes: + * min, p25, median, p75, and max work for strings as well as numbers + * Distinct-counts are computed on string representations -- so 4.1 and 4.10 are counted as distinct here. + * If the mode is not unique in the input data, the first-encountered value is reported as the mode. + + Options: + -a {mean,sum,etc.} Use only the specified summarizers. + -x {mean,sum,etc.} Use all summarizers, except the specified ones. + --all Use all available summarizers. + -h|--help Show this message. + tac Usage: mlr tac [options] Prints records in reverse order from the order in which they were encountered. @@ -1977,6 +2020,13 @@ VERBS from -f, fields from -g, and the top-index field are emitted. For more information please see https://miller.readthedocs.io/en/latest/reference-verbs#top + utf8-to-latin1 + Usage: mlr utf8-to-latin1, with no options. + Recursively converts record strings from Latin-1 to UTF-8. + For field-level control, please see the utf8_to_latin1 DSL function. + Options: + -h|--help Show this message. + unflatten Usage: mlr unflatten [options] Reverses flatten. Example: field with name 'a.b.c' and value 4 @@ -3201,4 +3251,4 @@ SEE ALSO - 2022-07-07 MILLER(1) + 2022-08-01 MILLER(1) diff --git a/docs/src/record-heterogeneity.md b/docs/src/record-heterogeneity.md index a486bac2c..ba80fc3c0 100644 --- a/docs/src/record-heterogeneity.md +++ b/docs/src/record-heterogeneity.md @@ -127,8 +127,8 @@ If you `mlr --csv cat` this, you'll get an error message: mlr --csv cat data/het/ragged.csv
-mlr : mlr: CSV header/data length mismatch 3 != 2 at filename data/het/ragged.csv row 3. - +mlr: mlr: CSV header/data length mismatch 3 != 2 at filename data/het/ragged.csv row 3. +.There are two kinds of raggedness here. Since CSVs form records by zipping the diff --git a/docs/src/reference-dsl-time.md b/docs/src/reference-dsl-time.md index 4271deff5..cd6210ec5 100644 --- a/docs/src/reference-dsl-time.md +++ b/docs/src/reference-dsl-time.md @@ -136,7 +136,7 @@ Regardless, if you specify an invalid timezone, you'll be clearly notified: mlr --from example.csv --tz This/Is/A/Typo cat
-mlr: unknown time zone This/Is/A/Typo +mlr : unknown time zone This/Is/A/Typo
diff --git a/man/manpage.txt b/man/manpage.txt
index 64433d9b6..f3899f091 100644
--- a/man/manpage.txt
+++ b/man/manpage.txt
@@ -29,7 +29,7 @@ DESCRIPTION
insertion-ordered hash map. This encompasses a variety of data
formats, including but not limited to the familiar CSV, TSV, and JSON.
(Miller can handle positionally-indexed data as a special case.) This
- manpage documents mlr 6.3.0.
+ manpage documents mlr 6.3.0-dev.
EXAMPLES
mlr --icsv --opprint cat example.csv
@@ -171,11 +171,11 @@ VERB LIST
altkv bar bootstrap cat check clean-whitespace count-distinct count
count-similar cut decimate fill-down fill-empty filter flatten format-values
fraction gap grep group-by group-like having-fields head histogram json-parse
- json-stringify join label latin1-to-utf8 utf8-to-latin1 least-frequent
- merge-fields most-frequent nest nothing put regularize remove-empty-columns
- rename reorder repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle
- skip-trivial-records sort sort-within-records split stats1 stats2 step tac
- tail tee template top unflatten uniq unsparsify
+ json-stringify join label latin1-to-utf8 least-frequent merge-fields
+ most-frequent nest nothing put regularize remove-empty-columns rename reorder
+ repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle skip-trivial-records
+ sort sort-within-records split stats1 stats2 step summary tac tail tee
+ template top utf8-to-latin1 unflatten uniq unsparsify
FUNCTION LIST
abs acos acosh any append apply arrayify asin asinh asserting_absent
@@ -1306,13 +1306,6 @@ VERBS
Options:
-h|--help Show this message.
- utf8-to-latin1
- Usage: mlr utf8-to-latin1, with no options.
- Recursively converts record strings from Latin-1 to UTF-8.
- For field-level control, please see the utf8_to_latin1 DSL function.
- Options:
- -h|--help Show this message.
-
least-frequent
Usage: mlr least-frequent [options]
Shows the least frequently occurring distinct values for specified field names.
@@ -1331,6 +1324,8 @@ VERBS
Options:
-a {sum,count,...} Names of accumulators. One or more of:
count Count instances of fields
+ null_count Count number of empty-string/JSON-null instances per field
+ distinct_count Count number of distinct values per field
mode Find most-frequently-occurring values for fields; first-found wins tie
antimode Find least-frequently-occurring values for fields; first-found wins tie
sum Compute sums of specified fields
@@ -1342,6 +1337,8 @@ VERBS
kurtosis Compute sample kurtosis of specified fields
min Compute minimum values of specified fields
max Compute maximum values of specified fields
+ minlen Compute minimum string-lengths of specified fields
+ maxlen Compute maximum string-lengths of specified fields
-f {a,b,c} Value-field names on which to compute statistics. Requires -o.
-r {a,b,c} Regular expressions for value-field names on which to compute
statistics. Requires -o.
@@ -1797,6 +1794,8 @@ VERBS
median This is the same as p50
p10 p25.2 p50 p98 p100 etc.
count Count instances of fields
+ null_count Count number of empty-string/JSON-null instances per field
+ distinct_count Count number of distinct values per field
mode Find most-frequently-occurring values for fields; first-found wins tie
antimode Find least-frequently-occurring values for fields; first-found wins tie
sum Compute sums of specified fields
@@ -1808,6 +1807,8 @@ VERBS
kurtosis Compute sample kurtosis of specified fields
min Compute minimum values of specified fields
max Compute maximum values of specified fields
+ minlen Compute minimum string-lengths of specified fields
+ maxlen Compute maximum string-lengths of specified fields
-f {a,b,c} Value-field names on which to compute statistics
--fr {regex} Regex for value-field names on which to compute statistics
@@ -1918,6 +1919,48 @@ VERBS
https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average
for more information on EWMA.
+ summary
+ Usage: mlr summary [options]
+ Show summary statistics about the input data.
+
+ All summarizers:
+ field_type string, int, etc. -- if a column has mixed types, all encountered types are printed
+ count +1 for every instance of the field across all records in the input record stream
+ null_count count of field values either empty string or JSON null
+ distinct_count count of distinct values for the field
+ mode most-frequently-occurring value for the field
+ sum sum of field values
+ mean mean of the field values
+ stddev standard deviation of the field values
+ var variance of the field values
+ skewness skewness of the field values
+ minlen length of shortest string representation for the field
+ maxlen length of longest string representation for the field
+ min minimum field value
+ p25 first-quartile field value
+ median median field value
+ p75 third-quartile field value
+ max maximum field value
+ iqr interquartile range: p75 - p25
+ lof lower outer fence: p25 - 3.0 * iqr
+ lif lower inner fence: p25 - 1.5 * iqr
+ uif upper inner fence: p75 + 1.5 * iqr
+ uof upper outer fence: p75 + 3.0 * iqr
+
+ Default summarizers:
+ field_type count mean min median max null_count distinct_count
+
+ Notes:
+ * min, p25, median, p75, and max work for strings as well as numbers
+ * Distinct-counts are computed on string representations -- so 4.1 and 4.10 are counted as distinct here.
+ * If the mode is not unique in the input data, the first-encountered value is reported as the mode.
+
+ Options:
+ -a {mean,sum,etc.} Use only the specified summarizers.
+ -x {mean,sum,etc.} Use all summarizers, except the specified ones.
+ --all Use all available summarizers.
+ -h|--help Show this message.
+
tac
Usage: mlr tac [options]
Prints records in reverse order from the order in which they were encountered.
@@ -1977,6 +2020,13 @@ VERBS
from -f, fields from -g, and the top-index field are emitted. For more information
please see https://miller.readthedocs.io/en/latest/reference-verbs#top
+ utf8-to-latin1
+ Usage: mlr utf8-to-latin1, with no options.
+ Recursively converts record strings from Latin-1 to UTF-8.
+ For field-level control, please see the utf8_to_latin1 DSL function.
+ Options:
+ -h|--help Show this message.
+
unflatten
Usage: mlr unflatten [options]
Reverses flatten. Example: field with name 'a.b.c' and value 4
@@ -3201,4 +3251,4 @@ SEE ALSO
- 2022-07-07 MILLER(1)
+ 2022-08-01 MILLER(1)
diff --git a/man/mlr.1 b/man/mlr.1
index 86047be40..fcfb90a3e 100644
--- a/man/mlr.1
+++ b/man/mlr.1
@@ -2,12 +2,12 @@
.\" Title: mlr
.\" Author: [see the "AUTHOR" section]
.\" Generator: ./mkman.rb
-.\" Date: 2022-07-07
+.\" Date: 2022-08-01
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "MILLER" "1" "2022-07-07" "\ \&" "\ \&"
+.TH "MILLER" "1" "2022-08-01" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Portability definitions
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -47,7 +47,7 @@ on integer-indexed fields: if the natural data structure for the latter is the
array, then Miller's natural data structure is the insertion-ordered hash map.
This encompasses a variety of data formats, including but not limited to the
familiar CSV, TSV, and JSON. (Miller can handle positionally-indexed data as
-a special case.) This manpage documents mlr 6.3.0.
+a special case.) This manpage documents mlr 6.3.0-dev.
.SH "EXAMPLES"
.sp
@@ -212,11 +212,11 @@ for all things with "map" in their names.
altkv bar bootstrap cat check clean-whitespace count-distinct count
count-similar cut decimate fill-down fill-empty filter flatten format-values
fraction gap grep group-by group-like having-fields head histogram json-parse
-json-stringify join label latin1-to-utf8 utf8-to-latin1 least-frequent
-merge-fields most-frequent nest nothing put regularize remove-empty-columns
-rename reorder repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle
-skip-trivial-records sort sort-within-records split stats1 stats2 step tac
-tail tee template top unflatten uniq unsparsify
+json-stringify join label latin1-to-utf8 least-frequent merge-fields
+most-frequent nest nothing put regularize remove-empty-columns rename reorder
+repeat reshape sample sec2gmtdate sec2gmt seqgen shuffle skip-trivial-records
+sort sort-within-records split stats1 stats2 step summary tac tail tee
+template top utf8-to-latin1 unflatten uniq unsparsify
.fi
.if n \{\
.RE
@@ -1645,19 +1645,6 @@ Options:
.fi
.if n \{\
.RE
-.SS "utf8-to-latin1"
-.if n \{\
-.RS 0
-.\}
-.nf
-Usage: mlr utf8-to-latin1, with no options.
-Recursively converts record strings from Latin-1 to UTF-8.
-For field-level control, please see the utf8_to_latin1 DSL function.
-Options:
--h|--help Show this message.
-.fi
-.if n \{\
-.RE
.SS "least-frequent"
.if n \{\
.RS 0
@@ -1686,6 +1673,8 @@ specified fields.
Options:
-a {sum,count,...} Names of accumulators. One or more of:
count Count instances of fields
+ null_count Count number of empty-string/JSON-null instances per field
+ distinct_count Count number of distinct values per field
mode Find most-frequently-occurring values for fields; first-found wins tie
antimode Find least-frequently-occurring values for fields; first-found wins tie
sum Compute sums of specified fields
@@ -1697,6 +1686,8 @@ Options:
kurtosis Compute sample kurtosis of specified fields
min Compute minimum values of specified fields
max Compute maximum values of specified fields
+ minlen Compute minimum string-lengths of specified fields
+ maxlen Compute maximum string-lengths of specified fields
-f {a,b,c} Value-field names on which to compute statistics. Requires -o.
-r {a,b,c} Regular expressions for value-field names on which to compute
statistics. Requires -o.
@@ -2272,6 +2263,8 @@ Options:
median This is the same as p50
p10 p25.2 p50 p98 p100 etc.
count Count instances of fields
+ null_count Count number of empty-string/JSON-null instances per field
+ distinct_count Count number of distinct values per field
mode Find most-frequently-occurring values for fields; first-found wins tie
antimode Find least-frequently-occurring values for fields; first-found wins tie
sum Compute sums of specified fields
@@ -2283,6 +2276,8 @@ Options:
kurtosis Compute sample kurtosis of specified fields
min Compute minimum values of specified fields
max Compute maximum values of specified fields
+ minlen Compute minimum string-lengths of specified fields
+ maxlen Compute maximum string-lengths of specified fields
-f {a,b,c} Value-field names on which to compute statistics
--fr {regex} Regex for value-field names on which to compute statistics
@@ -2407,6 +2402,54 @@ for more information on EWMA.
.fi
.if n \{\
.RE
+.SS "summary"
+.if n \{\
+.RS 0
+.\}
+.nf
+Usage: mlr summary [options]
+Show summary statistics about the input data.
+
+All summarizers:
+ field_type string, int, etc. -- if a column has mixed types, all encountered types are printed
+ count +1 for every instance of the field across all records in the input record stream
+ null_count count of field values either empty string or JSON null
+ distinct_count count of distinct values for the field
+ mode most-frequently-occurring value for the field
+ sum sum of field values
+ mean mean of the field values
+ stddev standard deviation of the field values
+ var variance of the field values
+ skewness skewness of the field values
+ minlen length of shortest string representation for the field
+ maxlen length of longest string representation for the field
+ min minimum field value
+ p25 first-quartile field value
+ median median field value
+ p75 third-quartile field value
+ max maximum field value
+ iqr interquartile range: p75 - p25
+ lof lower outer fence: p25 - 3.0 * iqr
+ lif lower inner fence: p25 - 1.5 * iqr
+ uif upper inner fence: p75 + 1.5 * iqr
+ uof upper outer fence: p75 + 3.0 * iqr
+
+Default summarizers:
+ field_type count mean min median max null_count distinct_count
+
+Notes:
+* min, p25, median, p75, and max work for strings as well as numbers
+* Distinct-counts are computed on string representations -- so 4.1 and 4.10 are counted as distinct here.
+* If the mode is not unique in the input data, the first-encountered value is reported as the mode.
+
+Options:
+-a {mean,sum,etc.} Use only the specified summarizers.
+-x {mean,sum,etc.} Use all summarizers, except the specified ones.
+--all Use all available summarizers.
+-h|--help Show this message.
+.fi
+.if n \{\
+.RE
.SS "tac"
.if n \{\
.RS 0
@@ -2496,6 +2539,19 @@ please see https://miller.readthedocs.io/en/latest/reference-verbs#top
.fi
.if n \{\
.RE
+.SS "utf8-to-latin1"
+.if n \{\
+.RS 0
+.\}
+.nf
+Usage: mlr utf8-to-latin1, with no options.
+Recursively converts record strings from Latin-1 to UTF-8.
+For field-level control, please see the utf8_to_latin1 DSL function.
+Options:
+-h|--help Show this message.
+.fi
+.if n \{\
+.RE
.SS "unflatten"
.if n \{\
.RS 0