RStata (version 1.1.1)

stata: Send commands to a Stata process

Description

Function that sends commands to a Stata process.

Usage

stata(src = stop("At least 'src' must be specified"), data.in = NULL, data.out = FALSE, stata.path = getOption("RStata.StataPath", stop("You need to set up a Stata path; ?chooseStataBin")), stata.version = getOption("RStata.StataVersion", stop("You need to specify your Stata version")), stata.echo = getOption("RStata.StataEcho", TRUE), ...)

Arguments

src
character vector of length 1 (path to .do file) or more (a set of stata commands). See examples.
data.in
data.frame to be passed to Stata
data.out
logical value. If TRUE, the data at the end of the Stata command are returned to R.
stata.path
Stata command to be used
stata.version
Version of Stata used
stata.echo
logical value. If TRUE stata text output will be printed
...
parameter passed to write.dta

Examples

Run this code
## Not run: 
# ## Single command
# stata("help regress") #<- this won't work in Windows dued to needed
#                       #   batch mode
# 
# ## Many commands
# stata_src <- '
# 
# version 10
# set more off
# sysuse auto
# reg mpg weight
# 
# '
# stata(stata_src)
# 
# ## External .do file
# stata("foo.do")
# 
# ## Data input to Stata
# x <- data.frame(a = rnorm(3), b = letters[1:3])
# stata( "sum a", data.in = x)
# 
# ## Data output from Stata (eg obtain 'auto' dataset)
# auto <- stata("sysuse auto", data.out = TRUE)
# head(auto)
# 
# ## Data input/output
# (y <- stata("replace a = 2", data.in = x, data.out = TRUE))
# ## End(Not run)

Run the code above in your browser using DataLab