## Spreadsheet Interface for Entering Data

## Usage

    data.entry(..., Modes=NULL, Names=NULL)
    dataentry(data, modes)
    de(..., Modes=NULL, Names=NULL)

## Description

This is a fairly big suite of programs designed to make the interface to the spreadsheet painless for users. `data.entry` has side effects, any changes made in the spreadsheet are reflected in the variables. The functions `de`, `de.ncols`, `de.setup` and `de.restore` are designed to help achieve these side effects. If the user passes in a matrix, `X` say, then the matrix is broken into columns before `dataentry` is called. Then on return the columns are collected and glued back together and the result assigned to the variable `X`. If you don't want this behaviour use dataentry directly.

The primitive function is `dataentry`. It takes a list of vectors of possibly different lengths and modes (the second argument) and opens a spreadsheet with these variables being the columns. The columns of the dataentry window are returned as vectors in a list when the spreadsheet is closed.

`de.ncols` counts the number of columns which are supplied as arguments to `data.entry`. It attempts to count columns in lists, matrices and vectors. `de.setup` sets things up so that on return the columns can be regrouped and reassigned to the correct name. This is handled by `de.restore`.

## See Also

`vi`, `edit`.

## Examples

    # call data entry with variables x and y
    data.entry(x,y)

[Package Contents]