diff --git a/index.html b/index.html
index a3d9e71..1c9c2fd 100644
--- a/index.html
+++ b/index.html
@@ -70,7 +70,7 @@
Overview
When a value is missing in your data, sometimes you want to know why it is missing. Many textual tabular data sources will encode these missing reasons as special values interlaced with the valid values in a column (e.g. N/A
, REFUSED
, -99
, etc.). Unfortunately, the missing reason information is lost when these values are all converted into a single NA
type. Working with missing reasons has traditionally required loading all variables as character vectors and doing a bunch of string operations and type conversions to make sense of them.
-Interlacer was created based on the insight that values and missing reasons should be handled as separate channels of the same variable. Interlacer provides functions that load variables from interlaced data sources into two separate columns: One containing the variable’s values, the other containing its missing reasons. As it turns out, this form gives us an extremely powerful and expressive way to simultaneously work with values and missing reasons, as described in vignette("interlacer")
G. (TLDR: It allows us to interact with the variable as a type-safe Result
type, an abstraction often found in functional programming)
+Interlacer was created based on the insight that values and missing reasons should be handled as separate channels of the same variable. Interlacer provides functions that load variables from interlaced data sources into two separate columns: One containing the variable’s values, the other containing its missing reasons. As it turns out, this form gives us an extremely powerful and expressive way to simultaneously work with values and missing reasons, as described in vignette("interlacer")
. (TLDR: It allows us to interact with the variable as a type-safe Result
type, an abstraction often found in functional programming)
This library is currently in its experimental stages, so be aware that its interface is likely to change in the future. In the meantime, please try it out and let me know what you think!
diff --git a/pkgdown.yml b/pkgdown.yml
index 998151a..c5eb906 100644
--- a/pkgdown.yml
+++ b/pkgdown.yml
@@ -3,7 +3,7 @@ pkgdown: 2.0.7
pkgdown_sha: ~
articles:
interlacer: interlacer.html
-last_built: 2024-02-29T23:39Z
+last_built: 2024-02-29T23:43Z
urls:
reference: http://kylehusmann.com/interlacer/reference
article: http://kylehusmann.com/interlacer/articles
diff --git a/search.json b/search.json
index ae646ce..9a37c65 100644
--- a/search.json
+++ b/search.json
@@ -1 +1 @@
-[{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache License","title":"Apache License","text":"Version 2.0, January 2004 ","code":""},{"path":[]},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"1. Definitions","title":"Apache License","text":"“License” shall mean terms conditions use, reproduction, distribution defined Sections 1 9 document. “Licensor” shall mean copyright owner entity authorized copyright owner granting License. “Legal Entity” shall mean union acting entity entities control, controlled , common control entity. purposes definition, “control” means () power, direct indirect, cause direction management entity, whether contract otherwise, (ii) ownership fifty percent (50%) outstanding shares, (iii) beneficial ownership entity. “” (“”) shall mean individual Legal Entity exercising permissions granted License. “Source” form shall mean preferred form making modifications, including limited software source code, documentation source, configuration files. “Object” form shall mean form resulting mechanical transformation translation Source form, including limited compiled object code, generated documentation, conversions media types. “Work” shall mean work authorship, whether Source Object form, made available License, indicated copyright notice included attached work (example provided Appendix ). “Derivative Works” shall mean work, whether Source Object form, based (derived ) Work editorial revisions, annotations, elaborations, modifications represent, whole, original work authorship. purposes License, Derivative Works shall include works remain separable , merely link (bind name) interfaces , Work Derivative Works thereof. “Contribution” shall mean work authorship, including original version Work modifications additions Work Derivative Works thereof, intentionally submitted Licensor inclusion Work copyright owner individual Legal Entity authorized submit behalf copyright owner. purposes definition, “submitted” means form electronic, verbal, written communication sent Licensor representatives, including limited communication electronic mailing lists, source code control systems, issue tracking systems managed , behalf , Licensor purpose discussing improving Work, excluding communication conspicuously marked otherwise designated writing copyright owner “Contribution.” “Contributor” shall mean Licensor individual Legal Entity behalf Contribution received Licensor subsequently incorporated within Work.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_2-grant-of-copyright-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"2. Grant of Copyright License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable copyright license reproduce, prepare Derivative Works , publicly display, publicly perform, sublicense, distribute Work Derivative Works Source Object form.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_3-grant-of-patent-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"3. Grant of Patent License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable (except stated section) patent license make, made, use, offer sell, sell, import, otherwise transfer Work, license applies patent claims licensable Contributor necessarily infringed Contribution(s) alone combination Contribution(s) Work Contribution(s) submitted. institute patent litigation entity (including cross-claim counterclaim lawsuit) alleging Work Contribution incorporated within Work constitutes direct contributory patent infringement, patent licenses granted License Work shall terminate date litigation filed.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_4-redistribution","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"4. Redistribution","title":"Apache License","text":"may reproduce distribute copies Work Derivative Works thereof medium, without modifications, Source Object form, provided meet following conditions: () must give recipients Work Derivative Works copy License; (b) must cause modified files carry prominent notices stating changed files; (c) must retain, Source form Derivative Works distribute, copyright, patent, trademark, attribution notices Source form Work, excluding notices pertain part Derivative Works; (d) Work includes “NOTICE” text file part distribution, Derivative Works distribute must include readable copy attribution notices contained within NOTICE file, excluding notices pertain part Derivative Works, least one following places: within NOTICE text file distributed part Derivative Works; within Source form documentation, provided along Derivative Works; , within display generated Derivative Works, wherever third-party notices normally appear. contents NOTICE file informational purposes modify License. may add attribution notices within Derivative Works distribute, alongside addendum NOTICE text Work, provided additional attribution notices construed modifying License. may add copyright statement modifications may provide additional different license terms conditions use, reproduction, distribution modifications, Derivative Works whole, provided use, reproduction, distribution Work otherwise complies conditions stated License.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_5-submission-of-contributions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"5. Submission of Contributions","title":"Apache License","text":"Unless explicitly state otherwise, Contribution intentionally submitted inclusion Work Licensor shall terms conditions License, without additional terms conditions. Notwithstanding , nothing herein shall supersede modify terms separate license agreement may executed Licensor regarding Contributions.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_6-trademarks","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"6. Trademarks","title":"Apache License","text":"License grant permission use trade names, trademarks, service marks, product names Licensor, except required reasonable customary use describing origin Work reproducing content NOTICE file.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_7-disclaimer-of-warranty","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"7. Disclaimer of Warranty","title":"Apache License","text":"Unless required applicable law agreed writing, Licensor provides Work (Contributor provides Contributions) “” BASIS, WITHOUT WARRANTIES CONDITIONS KIND, either express implied, including, without limitation, warranties conditions TITLE, NON-INFRINGEMENT, MERCHANTABILITY, FITNESS PARTICULAR PURPOSE. solely responsible determining appropriateness using redistributing Work assume risks associated exercise permissions License.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_8-limitation-of-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"8. Limitation of Liability","title":"Apache License","text":"event legal theory, whether tort (including negligence), contract, otherwise, unless required applicable law (deliberate grossly negligent acts) agreed writing, shall Contributor liable damages, including direct, indirect, special, incidental, consequential damages character arising result License use inability use Work (including limited damages loss goodwill, work stoppage, computer failure malfunction, commercial damages losses), even Contributor advised possibility damages.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_9-accepting-warranty-or-additional-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"9. Accepting Warranty or Additional Liability","title":"Apache License","text":"redistributing Work Derivative Works thereof, may choose offer, charge fee , acceptance support, warranty, indemnity, liability obligations /rights consistent License. However, accepting obligations, may act behalf sole responsibility, behalf Contributor, agree indemnify, defend, hold Contributor harmless liability incurred , claims asserted , Contributor reason accepting warranty additional liability. END TERMS CONDITIONS","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"appendix-how-to-apply-the-apache-license-to-your-work","dir":"","previous_headings":"","what":"APPENDIX: How to apply the Apache License to your work","title":"Apache License","text":"apply Apache License work, attach following boilerplate notice, fields enclosed brackets [] replaced identifying information. (Don’t include brackets!) text enclosed appropriate comment syntax file format. also recommend file class name description purpose included “printed page” copyright notice easier identification within third-party archives.","code":"Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."},{"path":"http://kylehusmann.com/interlacer/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Kyle Husmann. Author, maintainer.","code":""},{"path":"http://kylehusmann.com/interlacer/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Husmann K (2024). interlacer: Read Tabular Data Interlaced Values Missing Reasons. R package version 0.1.0, http://kylehusmann.com/interlacer/.","code":"@Manual{, title = {interlacer: Read Tabular Data With Interlaced Values And Missing Reasons}, author = {Kyle Husmann}, year = {2024}, note = {R package version 0.1.0}, url = {http://kylehusmann.com/interlacer/}, }"},{"path":[]},{"path":"http://kylehusmann.com/interlacer/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"value missing data, sometimes want know missing. Many textual tabular data sources encode missing reasons special values interlaced valid values column (e.g. N/, REFUSED, -99, etc.). Unfortunately, missing reason information lost values converted single NA type. Working missing reasons traditionally required loading variables character vectors bunch string operations type conversions make sense . Interlacer created based insight values missing reasons handled separate channels variable. Interlacer provides functions load variables interlaced data sources two separate columns: One containing variable’s values, containing missing reasons. turns , form gives us extremely powerful expressive way simultaneously work values missing reasons, described vignette(\"interlacer\")G. (TLDR: allows us interact variable type-safe Result type, abstraction often found functional programming) library currently experimental stages, aware interface likely change future. meantime, please try let know think!","code":""},{"path":"http://kylehusmann.com/interlacer/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"","code":"# The easiest way to get interlacer is to install via devtools: install.packages(\"devtools\") # If devtools is not already installed devtools::install_github(\"khusmann/interlacer\")"},{"path":"http://kylehusmann.com/interlacer/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"use interlacer, load current R session: interlacer supports following file formats read_interlaced_*() functions, extend readr::read_*() family functions: read_interlaced_csv() read_interlaced_tsv() read_interlaced_csv2() read_interlaced_delim() following example loads sample file bundled interlacer interlaces values three possible missing reasons: REFUSED, OMITTED, N/. can see, source variable loaded two columns: one vaild values, missing reasons. Missing reason columns denoted column names surrounded dots (e.g. .age. missing reason age column). value NA, always reason missing reason column. Similarly, missing reason NA, always valid value value column. allows us separately reference values missing reasons tidy type-safe manner. example, wanted get breakdown mean age respondents missing report favorite color, grouped missing reason, simply : (Note category result refers mean age responses without missing color values, .e. valid favorite color responses). just scratches surface can done interlacer… check vignette(\"interlacer\") complete overview!","code":"library(interlacer) (ex <- read_interlaced_csv( interlacer_example(\"colors.csv\"), na = c(\"REFUSED\", \"OMITTED\", \"N/A\") )) #> # An deinterlaced tibble: 11 × 6 #> person_id .person_id. age .age. favorite_color .favorite_color. #> #> 1 1 20 BLUE #> 2 2 NA REFUSED BLUE #> 3 3 21 RED #> 4 4 30 OMITTED #> 5 5 1 N/A #> 6 6 41 RED #> 7 7 50 OMITTED #> 8 8 30 YELLOW #> 9 9 NA REFUSED REFUSED #> 10 10 NA OMITTED RED #> 11 11 10 REFUSED ex |> summarize( mean_age = mean(age, na.rm=T), n = n(), .by = .favorite_color. ) #> # A tibble: 4 × 3 #> .favorite_color. mean_age n #> #> 1 28 6 #> 2 OMITTED 40 2 #> 3 N/A 1 1 #> 4 REFUSED 10 2"},{"path":"http://kylehusmann.com/interlacer/index.html","id":"known-issues","dir":"","previous_headings":"","what":"Known Issues","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"Large dataframes (many columns & rows) run slowly interlacer! current implementation written entirely R. key places (noted source) extremely benefit native implementation, make library much snappy. invest time though, want get enough feedback users package stabilize current approach / API. (find package useful, please let know!)","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"Mutations deinterlaced data frames can result variables either values missing reasons, values missing reasons. `coalesce_missing_reasons()` takes care situations. case value missing reason, choose keep based `keep` paramter. case value missing reason exists, fill missing reason `default_reason` parameter. Mutations can also create new value columns without companion missing reason columns. case, new missing reason created filled `default_reason` wherever missing values value column. ( behavior can also used stub missing reason columns value-dataframes)","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"","code":"coalesce_missing_reasons( x, keep = c(\"values\", \"missing\"), default_reason = getOption(\"default_missing_reason\") )"},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"x dataframe keep variable value missing reason, choose keep. (properly formed deinterlaced dataframe values missing reasons) default_reason variable missing value missing reason, default missing reason fill .","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"deinterlaced tibble.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"simple wrapper `readr::type_convert()` deinterlaces missing reasons addition parsing values.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"","code":"deinterlace_type_convert(x, col_types = NULL, na = c(\"\", \"NA\"), ...)"},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"x data frame col_types One `NULL`, [readr::cols()] specification, string. na Character vector strings interpret missing values. ... additional parameters pass `readr::type_convert()`","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"[tibble()].separate columns values missing reasons variable.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"Drop missing reason columns deinterlaced dataframe, turning regular dataframe unlabelled `NA` values.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"","code":"drop_missing_reasons(x)"},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"x data frame","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"tibble without missing reason columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":null,"dir":"Reference","previous_headings":"","what":"Interlaced collectors for read_interlaced_* — icol_logical","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"Interlaced collector extend `readr` collector types (e.g. `col_double()`) allow column-level missing value specifications.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"","code":"icol_logical(na) icol_integer(na) icol_double(na) icol_character(na) icol_factor(na, levels = NULL, ordered = FALSE) icol_date(na, format = \"\") icol_time(na, format = \"\") icol_datetime(na, format = \"\") icol_number(na)"},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"na Character vector strings interpret column-level missing values levels Character vector allowed levels. levels = NULL (default), levels discovered unique values x, order appear x. ordered ordered factor? format format specification, described . set \"\", date times parsed ISO8601, dates times used date time formats specified locale(). Unlike strptime(), format specification must match complete string.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"function take deinterlaced dataframe re-interlace combining value misisng reason column pairs single character columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"","code":"interlace_missing_reasons(x)"},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"x deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"interlaced dataframe, , dataframe character columns contain values missing reasons.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":null,"dir":"Reference","previous_headings":"","what":"Get path to interlacer example — interlacer_example","title":"Get path to interlacer example — interlacer_example","text":"interlacer comes bundled number sample files `inst/extdata` directory. function make easy access","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get path to interlacer example — interlacer_example","text":"","code":"interlacer_example(file = NULL)"},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get path to interlacer example — interlacer_example","text":"file Name file. NULL, example files listed.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get path to interlacer example — interlacer_example","text":"","code":"interlacer_example() #> [1] \"colors.csv\" interlacer_example(\"colors.csv\") #> [1] \"/home/runner/work/_temp/Library/interlacer/extdata/colors.csv\""},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Selection helpers for deinterlaced dataframes — missing_cols","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"tidy selection helpers match missing reason value columns deinterlaced dataframe * `missing_cols()` selects missing reason columns. * `value_cols()` selects value columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"","code":"missing_cols(vars = NULL) value_cols(vars = NULL)"},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"vars character vector variable names. supplied, variables taken current selection context (established functions like select() pivot_longer()).","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":null,"dir":"Reference","previous_headings":"","what":"The names of an deinterlaced dataframe — missing_names","title":"The names of an deinterlaced dataframe — missing_names","text":"Functions get names missing reason columns value columns deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"The names of an deinterlaced dataframe — missing_names","text":"","code":"missing_names(x) value_names(x)"},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"The names of an deinterlaced dataframe — missing_names","text":"x deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"The names of an deinterlaced dataframe — missing_names","text":"vector missing reason value column names.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"`read_interlaced_*()`, family functions extend `readr`'s `read_delim()`, `read_csv`, etc. functions use data sources values interlaced missing reasons. functions return tibble two columns interlaced source column: column values, column missing reasons. Missing reason columns named taking value column name surrounding dots (e.g. missing reasons \"col_name\" read column named \".col_name.\")","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"","code":"read_interlaced_delim( file, delim = NULL, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_csv( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_csv2( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_tsv( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... )"},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"file Either path0 file, connection, literal data (either single string raw vector). delim Single character used separate fields within record. col_types One `NULL`, [readr::cols()] specification, string. addition `col_*` specifiers provided `readr`, `icol_*()` specifiers may used. See `vignette(\"interlacer\")` details. col_select Columns include results. [reader::read_delim], can use mini-language [dplyr::select()] refer columns name. na Character vector strings interpret missing values. values become factor levels missing reason column. ... Additional parameters pass `read_delim`","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"deinterlaced [tibble()], , tibble separate columns values missing reasonskfor variable.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"","code":"# Beep boop"}]
+[{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache License","title":"Apache License","text":"Version 2.0, January 2004 ","code":""},{"path":[]},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"1. Definitions","title":"Apache License","text":"“License” shall mean terms conditions use, reproduction, distribution defined Sections 1 9 document. “Licensor” shall mean copyright owner entity authorized copyright owner granting License. “Legal Entity” shall mean union acting entity entities control, controlled , common control entity. purposes definition, “control” means () power, direct indirect, cause direction management entity, whether contract otherwise, (ii) ownership fifty percent (50%) outstanding shares, (iii) beneficial ownership entity. “” (“”) shall mean individual Legal Entity exercising permissions granted License. “Source” form shall mean preferred form making modifications, including limited software source code, documentation source, configuration files. “Object” form shall mean form resulting mechanical transformation translation Source form, including limited compiled object code, generated documentation, conversions media types. “Work” shall mean work authorship, whether Source Object form, made available License, indicated copyright notice included attached work (example provided Appendix ). “Derivative Works” shall mean work, whether Source Object form, based (derived ) Work editorial revisions, annotations, elaborations, modifications represent, whole, original work authorship. purposes License, Derivative Works shall include works remain separable , merely link (bind name) interfaces , Work Derivative Works thereof. “Contribution” shall mean work authorship, including original version Work modifications additions Work Derivative Works thereof, intentionally submitted Licensor inclusion Work copyright owner individual Legal Entity authorized submit behalf copyright owner. purposes definition, “submitted” means form electronic, verbal, written communication sent Licensor representatives, including limited communication electronic mailing lists, source code control systems, issue tracking systems managed , behalf , Licensor purpose discussing improving Work, excluding communication conspicuously marked otherwise designated writing copyright owner “Contribution.” “Contributor” shall mean Licensor individual Legal Entity behalf Contribution received Licensor subsequently incorporated within Work.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_2-grant-of-copyright-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"2. Grant of Copyright License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable copyright license reproduce, prepare Derivative Works , publicly display, publicly perform, sublicense, distribute Work Derivative Works Source Object form.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_3-grant-of-patent-license","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"3. Grant of Patent License","title":"Apache License","text":"Subject terms conditions License, Contributor hereby grants perpetual, worldwide, non-exclusive, -charge, royalty-free, irrevocable (except stated section) patent license make, made, use, offer sell, sell, import, otherwise transfer Work, license applies patent claims licensable Contributor necessarily infringed Contribution(s) alone combination Contribution(s) Work Contribution(s) submitted. institute patent litigation entity (including cross-claim counterclaim lawsuit) alleging Work Contribution incorporated within Work constitutes direct contributory patent infringement, patent licenses granted License Work shall terminate date litigation filed.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_4-redistribution","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"4. Redistribution","title":"Apache License","text":"may reproduce distribute copies Work Derivative Works thereof medium, without modifications, Source Object form, provided meet following conditions: () must give recipients Work Derivative Works copy License; (b) must cause modified files carry prominent notices stating changed files; (c) must retain, Source form Derivative Works distribute, copyright, patent, trademark, attribution notices Source form Work, excluding notices pertain part Derivative Works; (d) Work includes “NOTICE” text file part distribution, Derivative Works distribute must include readable copy attribution notices contained within NOTICE file, excluding notices pertain part Derivative Works, least one following places: within NOTICE text file distributed part Derivative Works; within Source form documentation, provided along Derivative Works; , within display generated Derivative Works, wherever third-party notices normally appear. contents NOTICE file informational purposes modify License. may add attribution notices within Derivative Works distribute, alongside addendum NOTICE text Work, provided additional attribution notices construed modifying License. may add copyright statement modifications may provide additional different license terms conditions use, reproduction, distribution modifications, Derivative Works whole, provided use, reproduction, distribution Work otherwise complies conditions stated License.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_5-submission-of-contributions","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"5. Submission of Contributions","title":"Apache License","text":"Unless explicitly state otherwise, Contribution intentionally submitted inclusion Work Licensor shall terms conditions License, without additional terms conditions. Notwithstanding , nothing herein shall supersede modify terms separate license agreement may executed Licensor regarding Contributions.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_6-trademarks","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"6. Trademarks","title":"Apache License","text":"License grant permission use trade names, trademarks, service marks, product names Licensor, except required reasonable customary use describing origin Work reproducing content NOTICE file.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_7-disclaimer-of-warranty","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"7. Disclaimer of Warranty","title":"Apache License","text":"Unless required applicable law agreed writing, Licensor provides Work (Contributor provides Contributions) “” BASIS, WITHOUT WARRANTIES CONDITIONS KIND, either express implied, including, without limitation, warranties conditions TITLE, NON-INFRINGEMENT, MERCHANTABILITY, FITNESS PARTICULAR PURPOSE. solely responsible determining appropriateness using redistributing Work assume risks associated exercise permissions License.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_8-limitation-of-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"8. Limitation of Liability","title":"Apache License","text":"event legal theory, whether tort (including negligence), contract, otherwise, unless required applicable law (deliberate grossly negligent acts) agreed writing, shall Contributor liable damages, including direct, indirect, special, incidental, consequential damages character arising result License use inability use Work (including limited damages loss goodwill, work stoppage, computer failure malfunction, commercial damages losses), even Contributor advised possibility damages.","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"id_9-accepting-warranty-or-additional-liability","dir":"","previous_headings":"Terms and Conditions for use, reproduction, and distribution","what":"9. Accepting Warranty or Additional Liability","title":"Apache License","text":"redistributing Work Derivative Works thereof, may choose offer, charge fee , acceptance support, warranty, indemnity, liability obligations /rights consistent License. However, accepting obligations, may act behalf sole responsibility, behalf Contributor, agree indemnify, defend, hold Contributor harmless liability incurred , claims asserted , Contributor reason accepting warranty additional liability. END TERMS CONDITIONS","code":""},{"path":"http://kylehusmann.com/interlacer/LICENSE.html","id":"appendix-how-to-apply-the-apache-license-to-your-work","dir":"","previous_headings":"","what":"APPENDIX: How to apply the Apache License to your work","title":"Apache License","text":"apply Apache License work, attach following boilerplate notice, fields enclosed brackets [] replaced identifying information. (Don’t include brackets!) text enclosed appropriate comment syntax file format. also recommend file class name description purpose included “printed page” copyright notice easier identification within third-party archives.","code":"Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License."},{"path":"http://kylehusmann.com/interlacer/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Kyle Husmann. Author, maintainer.","code":""},{"path":"http://kylehusmann.com/interlacer/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Husmann K (2024). interlacer: Read Tabular Data Interlaced Values Missing Reasons. R package version 0.1.0, http://kylehusmann.com/interlacer/.","code":"@Manual{, title = {interlacer: Read Tabular Data With Interlaced Values And Missing Reasons}, author = {Kyle Husmann}, year = {2024}, note = {R package version 0.1.0}, url = {http://kylehusmann.com/interlacer/}, }"},{"path":[]},{"path":"http://kylehusmann.com/interlacer/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"value missing data, sometimes want know missing. Many textual tabular data sources encode missing reasons special values interlaced valid values column (e.g. N/, REFUSED, -99, etc.). Unfortunately, missing reason information lost values converted single NA type. Working missing reasons traditionally required loading variables character vectors bunch string operations type conversions make sense . Interlacer created based insight values missing reasons handled separate channels variable. Interlacer provides functions load variables interlaced data sources two separate columns: One containing variable’s values, containing missing reasons. turns , form gives us extremely powerful expressive way simultaneously work values missing reasons, described vignette(\"interlacer\"). (TLDR: allows us interact variable type-safe Result type, abstraction often found functional programming) library currently experimental stages, aware interface likely change future. meantime, please try let know think!","code":""},{"path":"http://kylehusmann.com/interlacer/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"","code":"# The easiest way to get interlacer is to install via devtools: install.packages(\"devtools\") # If devtools is not already installed devtools::install_github(\"khusmann/interlacer\")"},{"path":"http://kylehusmann.com/interlacer/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"use interlacer, load current R session: interlacer supports following file formats read_interlaced_*() functions, extend readr::read_*() family functions: read_interlaced_csv() read_interlaced_tsv() read_interlaced_csv2() read_interlaced_delim() following example loads sample file bundled interlacer interlaces values three possible missing reasons: REFUSED, OMITTED, N/. can see, source variable loaded two columns: one vaild values, missing reasons. Missing reason columns denoted column names surrounded dots (e.g. .age. missing reason age column). value NA, always reason missing reason column. Similarly, missing reason NA, always valid value value column. allows us separately reference values missing reasons tidy type-safe manner. example, wanted get breakdown mean age respondents missing report favorite color, grouped missing reason, simply : (Note category result refers mean age responses without missing color values, .e. valid favorite color responses). just scratches surface can done interlacer… check vignette(\"interlacer\") complete overview!","code":"library(interlacer) (ex <- read_interlaced_csv( interlacer_example(\"colors.csv\"), na = c(\"REFUSED\", \"OMITTED\", \"N/A\") )) #> # An deinterlaced tibble: 11 × 6 #> person_id .person_id. age .age. favorite_color .favorite_color. #> #> 1 1 20 BLUE #> 2 2 NA REFUSED BLUE #> 3 3 21 RED #> 4 4 30 OMITTED #> 5 5 1 N/A #> 6 6 41 RED #> 7 7 50 OMITTED #> 8 8 30 YELLOW #> 9 9 NA REFUSED REFUSED #> 10 10 NA OMITTED RED #> 11 11 10 REFUSED ex |> summarize( mean_age = mean(age, na.rm=T), n = n(), .by = .favorite_color. ) #> # A tibble: 4 × 3 #> .favorite_color. mean_age n #> #> 1 28 6 #> 2 OMITTED 40 2 #> 3 N/A 1 1 #> 4 REFUSED 10 2"},{"path":"http://kylehusmann.com/interlacer/index.html","id":"known-issues","dir":"","previous_headings":"","what":"Known Issues","title":"Read Tabular Data With Interlaced Values And Missing Reasons","text":"Large dataframes (many columns & rows) run slowly interlacer! current implementation written entirely R. key places (noted source) extremely benefit native implementation, make library much snappy. invest time though, want get enough feedback users package stabilize current approach / API. (find package useful, please let know!)","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"Mutations deinterlaced data frames can result variables either values missing reasons, values missing reasons. `coalesce_missing_reasons()` takes care situations. case value missing reason, choose keep based `keep` paramter. case value missing reason exists, fill missing reason `default_reason` parameter. Mutations can also create new value columns without companion missing reason columns. case, new missing reason created filled `default_reason` wherever missing values value column. ( behavior can also used stub missing reason columns value-dataframes)","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"","code":"coalesce_missing_reasons( x, keep = c(\"values\", \"missing\"), default_reason = getOption(\"default_missing_reason\") )"},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"x dataframe keep variable value missing reason, choose keep. (properly formed deinterlaced dataframe values missing reasons) default_reason variable missing value missing reason, default missing reason fill .","code":""},{"path":"http://kylehusmann.com/interlacer/reference/coalesce_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Coalesce missing reasons in a dataframe — coalesce_missing_reasons","text":"deinterlaced tibble.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":null,"dir":"Reference","previous_headings":"","what":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"simple wrapper `readr::type_convert()` deinterlaces missing reasons addition parsing values.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"","code":"deinterlace_type_convert(x, col_types = NULL, na = c(\"\", \"NA\"), ...)"},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"x data frame col_types One `NULL`, [readr::cols()] specification, string. na Character vector strings interpret missing values. ... additional parameters pass `readr::type_convert()`","code":""},{"path":"http://kylehusmann.com/interlacer/reference/deinterlace_type_convert.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Convert character columns and deinterlace missing reasons in existing data\nframe — deinterlace_type_convert","text":"[tibble()].separate columns values missing reasons variable.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"Drop missing reason columns deinterlaced dataframe, turning regular dataframe unlabelled `NA` values.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"","code":"drop_missing_reasons(x)"},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"x data frame","code":""},{"path":"http://kylehusmann.com/interlacer/reference/drop_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Drop missing reasons from a deinterlaced dataframe — drop_missing_reasons","text":"tibble without missing reason columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":null,"dir":"Reference","previous_headings":"","what":"Interlaced collectors for read_interlaced_* — icol_logical","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"Interlaced collector extend `readr` collector types (e.g. `col_double()`) allow column-level missing value specifications.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"","code":"icol_logical(na) icol_integer(na) icol_double(na) icol_character(na) icol_factor(na, levels = NULL, ordered = FALSE) icol_date(na, format = \"\") icol_time(na, format = \"\") icol_datetime(na, format = \"\") icol_number(na)"},{"path":"http://kylehusmann.com/interlacer/reference/icol_logical.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Interlaced collectors for read_interlaced_* — icol_logical","text":"na Character vector strings interpret column-level missing values levels Character vector allowed levels. levels = NULL (default), levels discovered unique values x, order appear x. ordered ordered factor? format format specification, described . set \"\", date times parsed ISO8601, dates times used date time formats specified locale(). Unlike strptime(), format specification must match complete string.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":null,"dir":"Reference","previous_headings":"","what":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"function take deinterlaced dataframe re-interlace combining value misisng reason column pairs single character columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"","code":"interlace_missing_reasons(x)"},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"x deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlace_missing_reasons.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Re-interlacce a deinterlaced dataframe — interlace_missing_reasons","text":"interlaced dataframe, , dataframe character columns contain values missing reasons.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":null,"dir":"Reference","previous_headings":"","what":"Get path to interlacer example — interlacer_example","title":"Get path to interlacer example — interlacer_example","text":"interlacer comes bundled number sample files `inst/extdata` directory. function make easy access","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get path to interlacer example — interlacer_example","text":"","code":"interlacer_example(file = NULL)"},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get path to interlacer example — interlacer_example","text":"file Name file. NULL, example files listed.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/interlacer_example.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get path to interlacer example — interlacer_example","text":"","code":"interlacer_example() #> [1] \"colors.csv\" interlacer_example(\"colors.csv\") #> [1] \"/home/runner/work/_temp/Library/interlacer/extdata/colors.csv\""},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":null,"dir":"Reference","previous_headings":"","what":"Selection helpers for deinterlaced dataframes — missing_cols","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"tidy selection helpers match missing reason value columns deinterlaced dataframe * `missing_cols()` selects missing reason columns. * `value_cols()` selects value columns.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"","code":"missing_cols(vars = NULL) value_cols(vars = NULL)"},{"path":"http://kylehusmann.com/interlacer/reference/missing_cols.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Selection helpers for deinterlaced dataframes — missing_cols","text":"vars character vector variable names. supplied, variables taken current selection context (established functions like select() pivot_longer()).","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":null,"dir":"Reference","previous_headings":"","what":"The names of an deinterlaced dataframe — missing_names","title":"The names of an deinterlaced dataframe — missing_names","text":"Functions get names missing reason columns value columns deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"The names of an deinterlaced dataframe — missing_names","text":"","code":"missing_names(x) value_names(x)"},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"The names of an deinterlaced dataframe — missing_names","text":"x deinterlaced dataframe","code":""},{"path":"http://kylehusmann.com/interlacer/reference/missing_names.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"The names of an deinterlaced dataframe — missing_names","text":"vector missing reason value column names.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":null,"dir":"Reference","previous_headings":"","what":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"`read_interlaced_*()`, family functions extend `readr`'s `read_delim()`, `read_csv`, etc. functions use data sources values interlaced missing reasons. functions return tibble two columns interlaced source column: column values, column missing reasons. Missing reason columns named taking value column name surrounding dots (e.g. missing reasons \"col_name\" read column named \".col_name.\")","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"","code":"read_interlaced_delim( file, delim = NULL, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_csv( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_csv2( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... ) read_interlaced_tsv( file, col_types = NULL, col_select = NULL, na = c(\"\", \"NA\"), ... )"},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"file Either path0 file, connection, literal data (either single string raw vector). delim Single character used separate fields within record. col_types One `NULL`, [readr::cols()] specification, string. addition `col_*` specifiers provided `readr`, `icol_*()` specifiers may used. See `vignette(\"interlacer\")` details. col_select Columns include results. [reader::read_delim], can use mini-language [dplyr::select()] refer columns name. na Character vector strings interpret missing values. values become factor levels missing reason column. ... Additional parameters pass `read_delim`","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"deinterlaced [tibble()], , tibble separate columns values missing reasonskfor variable.","code":""},{"path":"http://kylehusmann.com/interlacer/reference/read_interlaced_delim.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Read an delimited file with interlaced missing reasons into a tibble — read_interlaced_delim","text":"","code":"# Beep boop"}]