R: Return melted data for each token in a fixed width file

melt_fwf {readr} | R Documentation

## Return melted data for each token in a fixed width file

### Description

This function has been superseded in readr and moved to the meltr package.

### Usage

    melt_fwf(
      file,
      col_positions,
      locale = default_locale(),
      na = c("", "NA"),
      comment = "",
      trim_ws = TRUE,
      skip = 0,
      n_max = Inf,
      progress = show_progress(),
      skip_empty_rows = FALSE
    )

### Arguments

`file` | Either a path to a file, a connection, or literal data (either a single string or a raw vector). Files ending in `.gz`, `.bz2`, `.xz`, or `.zip` will be automatically uncompressed. Files starting with `http://`, `https://`, `ftp://`, or `ftps://` will be automatically downloaded. Remote gz files can also be automatically downloaded and decompressed. Literal data is most useful for examples and tests. To be recognised as a path, it must be wrapped with `I()`, be a string containing at least one new line, or be a vector containing at least one string with a new line. Using a value of `clipboard()` will read from the system clipboard.
`col_positions` | Column positions, as created by `fwf_empty()`, `fwf_widths()` or `fwf_positions()`. To read in only selected fields, use `fwf_positions()`. If the width of the last column is variable (a ragged fwf file), supply the last end position as NA.
`locale` | The locale controls defaults that vary from place to place. The default locale is US-centric (like R), but you can use `locale()` to create your own locale that controls things like the default time zone, encoding, decimal mark, big mark, and day/month names.
`na` | Character vector of strings to interpret as missing values. Set this option to `character()` to indicate no missing values.
`comment` | A string used to identify comments. Any text after the comment characters will be silently ignored.
`trim_ws` | Should leading and trailing whitespace (ASCII spaces and tabs) be trimmed from each field before parsing it?
`skip` | Number of lines to skip before reading data.
`n_max` | Maximum number of lines to read.
`progress` | Display a progress bar? By default it will only display in an interactive session and not while knitting a document. The automatic progress bar can be disabled by setting option `readr.show_progress` to `FALSE`.
`skip_empty_rows` | Should blank rows be ignored altogether? i.e. If this option is `TRUE` then blank rows will not be represented at all. If it is `FALSE` then they will be represented by `NA` values in all the columns.

### Details

For certain non-rectangular data formats, it can be useful to parse the data into a melted format where each row represents a single token.

`melt_fwf()` parses each token of a fixed width file into a single row, but it still requires that each field is in the same in every row of the source file.

### See Also

`melt_table()` to melt fixed width files where each column is separated by whitespace, and `read_fwf()` for the conventional way to read rectangular data from fixed width files.

### Examples

    fwf_sample <- readr_example("fwf-sample.txt")
    cat(read_lines(fwf_sample))

    # You can specify column positions in several ways:
    # 1. Guess based on position of empty columns
    melt_fwf(fwf_sample, fwf_empty(fwf_sample, col_names = c("first", "last", "state", "ssn")))
    # 2. A vector of field widths
    melt_fwf(fwf_sample, fwf_widths(c(20, 10, 12), c("name", "state", "ssn")))
    # 3. Paired vectors of start and end positions
    melt_fwf(fwf_sample, fwf_positions(c(1, 30), c(10, 42), c("name", "ssn")))
    # 4. Named arguments with start and end positions
    melt_fwf(fwf_sample, fwf_cols(name = c(1, 10), ssn = c(30, 42)))
    # 5. Named arguments with column widths
    melt_fwf(fwf_sample, fwf_cols(name = 20, state = 10, ssn = 12))

[Package readr version 2.0.2 Index]