Readstata13
Package to read the Stata 13 (and newer) file format into a R data.frame
Install / Use
/learn @sjewo/Readstata13README
readstata13: Read and write the ‘Stata’ file format with R
<!-- badges: start --> <!-- badges: end -->Package to read and write all Stata file formats (version 17 and older) into a R data.frame. The dta file format versions 102 to 121 are supported (including dtas files).
The function read.dta from the foreign package imports only dta files
from Stata versions <= 12. Due to the different structure and features
of dta 117 files, we wrote a new file reader in Rcpp.
Additionally the package supports many features of the Stata dta format
like label sets in different languages (?set.lang) or business
calendars (?as.caldays).
Installation
The package is hosted on CRAN.
install.packages("readstata13")
Usage
library(readstata13)
dat <- read.dta13("path to file.dta")
save.dta13(dat, file="newfile.dta")
Development Version
To install the current release from github you need the platform specific build tools. On Windows a current installation of Rtools is necessary, while OS X users need to install Xcode.
# install.packages("remotes")
remotes::install_github("sjewo/readstata13", ref="0.11")
To install the current development version from github:
remotes::install_github("sjewo/readstata13", ref="testing")
Changelog and Features
| Version | Changes |
|:---|:---|
| 0.11.0 | Initial support for Stata 18. Import .dtas files (Stata framesets) via read.dtas(). Alias variables are currently ignored with a warning. |
| | The select.cols argument accepts either variable names or column indices. |
| | Fix compilation on musl and other non-glibc based systems. |
| | Add package alias to readstata13.Rd |
See News for the full changelog.
readstata13 and foreign
Most attributes of the resulting data.frame are largely similar to the
data.frames produced by foreign. Since newer Stata files require some
additional attributes, the results of all.equal() and identical()
will be FALSE for data.frames read by foreign::read.dta and
read.dta13(). Otherwise, the data.frames produced by both functions
are identical.
library(foreign)
library(readstata13)
# with factors
r12 <- read.dta("http://www.stata-press.com/data/r12/auto.dta")
r13 <- read.dta13("http://www.stata-press.com/data/r13/auto.dta")
all.equal(r12, r13, check.attributes = FALSE)
# without factors
r12 <- read.dta("http://www.stata-press.com/data/r12/auto.dta",
convert.factors = FALSE)
r13 <- read.dta13("http://www.stata-press.com/data/r13/auto.dta",
convert.factors = FALSE)
all.equal(r12, r13, check.attributes = FALSE)
Authors
Marvin Garbuszus (JanMarvin) and Sebastian Jeworutzki (sjewo)
Licence
GPL2
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
