read.file {psych} | R Documentation

## Shortcuts for reading from the clipboard or a file

### Description

Input from a variety of sources may be read. data.frames may be read from files with suffixes of .txt, .text, .dat, .data, .csv, .sav. Files with suffixes of .rds, and Rds, are read using readRDS. Files with suffixes .rda and .Rda are not loaded. but a comment is issued to allow easy load. The default values for read.spss are adjusted for more standard input. Input from the clipboard is easy but a bit obscure, particularly for Mac users. This is just an easier way to do so. Data may be copied to the clipboard from Excel spreadsheets, csv files, or fixed width formatted files and then into a data.frame. Data may also be read from lower (or upper) triangular matrices and filled out to square matrices.

### Usage

    read.file(f=NULL,header=TRUE,...) #for .txt, .text, .csv, .sav, .rds, or .rda files

    read.clipboard(header = TRUE, ...)   #assumes headers and tab or space delimited
    read.clipboard.csv(header=TRUE,sep=',',...)   #assumes headers and comma delimited
    read.clipboard.tab(header=TRUE,sep='\t',...)   #assumes headers and tab delimited
     #read in a matrix given the lower off diagonal
     read.clipboard.lower(diag=TRUE,names=FALSE,...)
     read.clipboard.upper(diag=TRUE,names=FALSE,...)

    #read in data using a fixed format width (see read.fwf for instructions)
    read.clipboard.fwf(header=FALSE,widths=rep(1,10),...)
    read.https(filename,header=TRUE)

    read.file.csv(f=NULL,header=TRUE,...)
    write.file(x,f=NULL,row.names=FALSE,...)
    write.file.csv(x,f=NULL,row.names=FALSE,...)

### Arguments

`header` | Does the first row have variable labels
`sep` | What is the designated separater between data fields?
`diag` | for upper or lower triangular matrices, is the diagonal specified or not
`names` | for read.clipboard.lower or upper, are colnames in the the first column
`widths` | how wide are the columns in fixed width input. The default is to read 10 columns of size 1.
`filename` | name or address of remote https file to read
`...` | Other parameters to pass to read
`f` | A file name to read. If omitted, file.choose is called to dynamically get the file
`x` | The data frame or matrix to write to f
`row.names` | Should the output file include the rownames

### Details

A typical session of R might involve data stored in text files, generated online, etc. Although it is easy to just read from a file (particularly if using file.choose(), copying from the file to the clipboard and then reading from the clipboard is also very convenient (and somewhat more intuitive to the naive user). This is particularly convenient when copying from a text book or article and just moving a section of text into R.)

The `read.file` function combines the `file.choose` and either `read.table` or `read.spss` (from foreign) or `load` or `readRDS` commands. By examining the file suffix, it chooses the appropriate way to read. For more complicated file structures, see the foreign package.

The `write.file` function combines the `file.choose` and either `write.table` or `saveRDS`. By examining the file suffix, it chooses the appropriate way to write. For more complicated file structures, see the foreign package, or the save function in R Base.

`read.clipboard` was based upon a suggestion by Ken Knoblauch to the R-help listserve.

If the input file that was copied into the clipboard was an Excel file with blanks for missing data, then read.clipboard.tab() will correctly replace the blanks with NAs. Similarly for a csv file with blank entries, read.clipboard.csv will replace empty fields with NA.

read.clipboard.lower and read.clipboard.upper are adapted from John Fox's read.moments function in the sem package. They will read a lower (or upper) triangular matrix from the clipboard and return a full, symmetric matrix for use by factanal, `factor.pa` , `ICLUST` , etc. If the diagonal is false, it will be replaced by 1.0s. These two function were added to allow easy reading of examples from various texts and manuscripts with just triangular output.

Many articles will report lower triangular matrices with variable labels in the first column. read.clipboard.lower will handle this case. Names must be in the first column if names=TRUE is specified.

Other articles will report upper triangular matrices with variable labels in the first row. read.clipboard.upper will handle this. Note that labels in the first column will not work for read.clipboard.upper. The names, if present, must be in the first row.

read.clipboard.fwf will read fixed format files from the clipboard. It includes a patch to read.fwf which will not read from the clipboard or from remote file. See read.fwf for documentation of how to specify the widths.

### Value

the contents of the clipboard.

### Author(s)

William Revelle

### Examples

    #my.data <- read.file()   #search the directory for a file and then read it.
    #my.data <- read.clipboad()
    #my.data <- read.clipboard.csv()
    #my.data <- read.clipboad(header=FALSE)
    #my.matrix <- read.clipboard.lower()

[Package psych version 1.6.9 Index]