# Read data from 4D database — read.4D • AMR (for R)
This function is only useful for the MMB department of the UMCG. Use this function to import data by just defining the file parameter. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with as.mo and transform all antimicrobial columns with as.rsi.

# Read data from 4D database

`read.4D.Rd`

This function is only useful for the MMB department of the UMCG. Use this function to import data by just defining the `file` parameter. It will automatically transform birth dates and calculate patients age, translate the column names to English, transform the MO codes with `as.mo` and transform all antimicrobial columns with `as.rsi`.

    read.4D(file, info = interactive(), header = TRUE, row.names = NULL,
      sep = "\t", quote = "\"'", dec = ",", na.strings = c("NA", "",
      "."), skip = 2, check.names = TRUE, strip.white = TRUE,
      fill = TRUE, blank.lines.skip = TRUE, stringsAsFactors = FALSE,
      fileEncoding = "UTF-8", encoding = "UTF-8")

## Arguments

file

the name of the file which the data are to be read from. Each row of the table appears as one line of the file. If it does not contain an absolute path, the file name is relative to the current working directory, `getwd()`. Tilde-expansion is performed where supported. This can be a compressed file (see `file`).

Alternatively, `file` can be a readable text-mode connection (which will be opened for reading if necessary, and if so `close`d (and hence destroyed) at the end of the function call). (If `stdin()` is used, the prompts for lines may be somewhat confusing. Terminate input with a blank line or an EOF signal, `Ctrl-D` on Unix and `Ctrl-Z` on Windows. Any pushback on `stdin()` will be cleared before return.)

`file` can also be a complete URL. (For the supported URL schemes, see the ‘URLs’ section of the help for `url`.)

info | a logical to indicate whether info about the import should be printed, defaults to `TRUE` in interactive sessions
header | a logical value indicating whether the file contains the names of the variables as its first line. If missing, the value is determined from the file format: `header` is set to `TRUE` if and only if the first row contains one fewer field than the number of columns.

row.names

a vector of row names. This can be a vector giving the actual row names, or a single number giving the column of the table which contains the row names, or character string giving the name of the table column containing the row names.

If there is a header and the first row contains one fewer field than the number of columns, the first column in the input is used for the row names. Otherwise if `row.names` is missing, the rows are numbered.

Using `row.names = NULL` forces row numbering. Missing or `NULL` `row.names` generate row names that are considered to be ‘automatic’ (and not preserved by `as.matrix`).

sep | the field separator character. Values on each line of the file are separated by this character. If `sep = ""` (the default for `read.table`) the separator is ‘white space’, that is one or more spaces, tabs, newlines or carriage returns.
quote | the set of quoting characters. To disable quoting altogether, use `quote = ""`. See `scan` for the behaviour on quotes embedded in quotes. Quoting is only considered for columns read as character, which is all of them unless `colClasses` is specified.
dec | the character used in the file for decimal points.
na.strings | a character vector of strings which are to be interpreted as `NA` values. Blank fields are also considered to be missing values in logical, integer, numeric and complex fields. Note that the test happens after white space is stripped from the input, so `na.strings` values may need their own white space stripped in advance.
skip | integer: the number of lines of the data file to skip before beginning to read data.
check.names | logical. If `TRUE` then the names of the variables in the data frame are checked to ensure that they are syntactically valid variable names. If necessary they are adjusted (by `make.names`) so that they are, and also to ensure that there are no duplicates.
strip.white | logical. Used only when `sep` has been specified, and allows the stripping of leading and trailing white space from unquoted `character` fields (`numeric` fields are always stripped). See `scan` for further details (including the exact meaning of ‘white space’), remembering that the columns may include the row names.
fill | logical. If `TRUE` then in case the rows have unequal length, blank fields are implicitly added. See ‘Details’.
blank.lines.skip | logical: if `TRUE` blank lines in the input are ignored.
stringsAsFactors | logical: should character vectors be converted to factors? Note that this is overridden by `as.is` and `colClasses`, both of which allow finer control.
fileEncoding | character string: if non-empty declares the encoding used on a file (not a connection) so the character data can be re-encoded. See the ‘Encoding’ section of the help for `file`, the ‘R Data Import/Export Manual’ and ‘Note’.
encoding | encoding to be assumed for input strings. It is used to mark character strings as known to be in Latin-1 or UTF-8 (see `Encoding`): it is not used to re-encode the input, but allows R to handle encoded strings in their native encoding (if one of those two). See ‘Value’ and ‘Note’.

## Details

Column names will be transformed, but the original column names are set as a "label" attribute and can be seen in e.g. RStudio Viewer.