write.dbf {foreign} | R Documentation

## Write a DBF File

### Description

The function tries to write a data frame to a DBF file.

### Usage

    write.dbf(dataframe, file, factor2char = TRUE)

### Arguments

`dataframe` | a data frame object.
`file` | a file name to be written to.
`factor2char` | logical, default `TRUE`, convert factor columns to character: otherwise they are written as the internal integer codes.

### Details

Dots in column names are replaced by underlines in the DBF file, and names are truncated to 11 characters.

Only vector columns of classes `"logical"`, `"numeric"`, `"integer"`, `"character"`, `"factor"` and `"Date"` can be written. Other columns should be converted to one of these.

Maximum precision (number of digits including minus sign and decimal sign) for numeric is 19 - scale (digits after the decimal sign) which is calculated internally based on the number of digits before the decimal sign.

### Value

Invisible `NULL`.

### Note

Other applications have varying abilities to read the data types used here. Microsoft Access read `"numeric"`, `"integer"`, `"character"` and `"Date"` fields, including recognizing missing values, but not `"logical"` (read as `0,-1`). Microsoft Excel understood all possible types but did not interpret missing values in character fields correctly (showing them as character nuls).

### Author(s)

Nicholas J. Lewin-Koh, modified by Roger Bivand and Brian Ripley; shapelib by Frank Warmerdam.

### References

http://shapelib.maptools.org/

### See Also

`read.dbf`

### Examples

    str(warpbreaks)
    try1 <- paste(tempfile(), ".dbf", sep = "")
    write.dbf(warpbreaks, try1, factor2char = FALSE)
    in1 <- read.dbf(try1)
    str(in1)
    try2 <- paste(tempfile(), ".dbf", sep = "")
    write.dbf(warpbreaks, try2, factor2char = TRUE)
    in2 <- read.dbf(try2)
    str(in2)
    unlink(c(try1, try2))

[Package foreign version 0.8-15 Index]