new_file_definition_fwf_: Helper function for 'new_file_definition_fwf()'

Description Usage Arguments

View source: R/file_definition.R

Description

Helper function for new_file_definition_fwf()

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
new_file_definition_fwf_(
  file_path,
  specification_files = NULL,
  cols = NULL,
  col_names = NULL,
  col_types = NULL,
  col_start = NULL,
  col_end = NULL,
  col_widths = NULL,
  file_meta = NULL,
  sep_width = NULL,
  skip_rows,
  na,
  decimal_mark,
  big_mark,
  trim_ws,
  n_max,
  encoding,
  to_lower,
  adapters = new_adapters(),
  cols_keep,
  extra_col_name = NULL,
  extra_col_val = NULL,
  extra_col_file_path,
  err_h,
  ...
)

Arguments

file_path

A string holding the path to the data file.

specification_files

An optional character vector holding the paths to the files, where the file structure is described.

cols

An optional list argument, holding the column definitions. This argument can be used instead of the arguments col_names, col_types, col_start, col_end, col_widths, in order to define the column structure. If the argument cols is used, then non of the col_* argument are allowed. If so, the cols argument has the following structure: It is list, where each list entry fully describes a single column. Each list entry must have the same subselection of the following possible list entries:

  • type: (obligatoric) A string value defining the data type of the column. The following values are allowed: "character", "logical", "integer", "numeric" and "NULL" (for skipping this column). In the case of SAS files the type information can be omitted, since the data type information is stored in the SAS data files, but the argument type can still be useful in order to check that the read data column have the expected data type. For SAS-Files this check is done automatically after reading the data with read_data().

  • name: (optional) A string holding the column name.

  • start: (optional) A number holding the position of the first character of the column.

  • end: (optional) A number holding the position of the last character of the column.

  • width (optional) A numeric holding the number characters of the column.

  • col_meta: (optional) A col_meta class object, holding some meta information for the specific column (column description, possible column values + descriptions of possible column values). For details see section meta information.

col_names

An optional character vector holding the names of the columns. If omitted, then the strings "x1", "x2", ... will be used. In the case of DSV or EXCEL files: If the argument header is set to TRUE, then the column names given in the data header will be used instead. If col_names is also supplied, then the column names given in the DSV, EXCEL or SAS file will be compared with the names given in col_names. Sometimes it is useful, to have the column names to be automatically transformed to lower case (directly after reading the date, but before comparing the column names). This can be achieved by setting to_lower = TRUE. Generally, the argument cols can be used instead, in order to define the column names. If the argument cols is not NULL, then the argument col_names must be omitted.

col_types

A character vector defining the data types for each column. The following strings are allowed: "character", "logical", "integer", "numeric" and "NULL" (for skipping this column). Generally, the argument cols can be used instead, in order to define the column types. If the argument cols is not NULL, then the argument col_types must be omitted. In the case of SAS files the col_types information can be omitted, since the data type information is stored in the SAS data files, but the argument col_types can still be useful in order to check the read data files, if the data types are as expected. For SAS-Files this check is done automatically after reading the data with read_data()

col_start

An optional numeric vector holding the positions of the first character of each column. Generally, the argument cols can be used instead, in order to define the column start positions. If the argument cols is not NULL, then the argument col_start must be omitted.

col_end

An optional numeric vector holding the positions of the last character of each column. The last vector entry (for the most right column) is the only entry that can be NA. In this case, the most right cells are always read till the new line character. Generally, the argument cols can be used instead, in order to define the column end positions. If the argument cols is not NULL, then the argument col_end must be omitted.

col_widths

An optional numeric vector holding the numbers of characters of each column. Generally, the argument cols can be used instead, in order to define the column widths. If the argument cols is not NULL, then the argument col_widths must be omitted.

file_meta

An optional file_meta class object, holding some meta information for each data column (column description, possible column values + descriptions of possible column values). For details see section meta information. If the argument cols is not NULL, then the argument file_meta must be omitted.

sep_width

An optional number, defining the number of characters between each column (often 0).

skip_rows

The number of rows to be skipped. In the case of DSV or EXCEL files: If the argument header is set to TRUE, then the first row is always assumed to be the header row.

na

A string representing missing values in the data file.

decimal_mark

A character, defining the decimal separator in numeric columns. Only the strings "." and "," are allowed.

big_mark

A character, defining the thousands separator in numeric columns. Only the strings "." and "," are allowed.

trim_ws

A logical value, defining if the character values should be stipped of all leading and trailing white spaces.

n_max

A number, defining the maximum number of rows to be read. If n_max = Inf, then all available rows will be read.

encoding

A string, defining which encoding should be assumed when reading the data file. The following valuels are allowed:

  • "UTF-8": For UTF-8 encoded files.

  • "latin1": For ISO 8859-1 (also called Latin-1) encoded files. This encoding is almost the same as Windows-1252 (also called ANSI). They differ only in 32 symbol codes (special symbols that are rarely used). In the case of SAS files, it is possible to set encoding = NULL. In this case, the encoding defined in the SAS data file header will be used.

to_lower

A logical flag, defining if the names of the columns should be transformed to lower case after reading the data set (by calling read_data()). This transformation will be applied before comparing the column names (in the case of SAS-Files or DSV- and EXCE-Files with header = TRUE). In the case of new_file_definition() the to_lower argument overwrites the to_lower argument in the file_structure class object given in file_structure. If to_lower is omitted, then the file_structure class object remains unchanged. In the case of new_file_definition_fwf(), new_file_definition_dsv(), new_file_definition_excel() or new_file_definition_sas() the argument to_lower must either be TRUE or FALSE.

adapters

An optional list argument, holding a list of adapter functions (See section adapters).

cols_keep

Either TRUE or a character vector. If set to TRUE, then all columns of the data are kept when calling read_data(). If cols_keep character vector, then the values in cols_keep represent the names of the columns, which are kept when calling read_data().

extra_col_name

An optional string, which defines the column, which will be added to the data set (after reading it with function read_data()). Each entry of the column will have the single value given in extra_col_val. For example: This column is useful when reading similar data files for separate years (one could pass the current data set year to extra_col_name and set extra_col_name = "year"). If extra_col_name is omitted, no column will be added to the data set and then extra_col_val must be omitted as well. additional column with the column name, given in extra_col_name. If omitted, then no column will be added to the data set and the argument extra_col_name must be omitted as well.

extra_col_val

An optional value (any atomic type), which will be added (after reading the data set with function read_data()) as an additional column with the column name, given in extra_col_name. For example: This column is useful when reading similar data files for separate years (one could pass the current data set year to extra_col_name and set extra_col_name = "year"). If omitted, then no column will be added to the data set and the argument extra_col_name must be omitted as well.

extra_col_file_path

Either FALSE or a string. If set to FALSE no file-path-column will be added to the data set, when calling read_data(). If the argument extra_col_file_path is a string, then a column holding the file path of the data file will be added to the read data set, when calling read_data(). The string of extra_col_file_path will be used as column name for this additional column.

err_h

An error handler

...

Additional function arguments for

  • readr::read_fwf() in case of FWF files

  • utils::read.delim() in case of DSV files

  • readxl::read_excel() in case of EXCEL files


a-maldet/readall documentation built on Dec. 18, 2021, 9:23 p.m.