先查看各命令展开的示例,再按需展开其他选项及 R 实现。改写代码前,请阅读适用条件及差异说明。
cd
使用 RStudio 项目(Project)会自动设定工作文件夹,脚本中可以只写相对路径。
clear
一般不需要:R 可以同时保存多个数据表,各有自己的名字。
export
Stata
export delimited data.csv
R 包:readr
readr::write_csv(data, "data.csv")
另有 1 个示例及替代实现
R 包:writexl
writexl::write_xlsx(data, "data.xlsx")
findit
单个词和逗号分隔的变量名都可以不加引号,例如 findit(tab, sex, region)。可以加入 findit(tab, gen) 这样的提示,完整 Stata 语法仍可放在引号内。默认显示一个明确的例子;print(n = Inf) 显示所有匹配项。不带参数的 findit() 返回完整列表。
global
Stata
global path "path/to/folder"
R 中任何对象都可以像宏一样使用:赋值一次,之后直接用名字,例如 setwd(path)。
help
也可以输入 ?函数名,或在 RStudio 的 Help 窗口搜索。
import
Stata
import delimited data.csv
R 包:readr
data <- readr::read_csv("data.csv")
RStudio 的 File > Import Dataset 菜单可以导入数据,并自动生成相应代码。
Stata
import excel data.xlsx, firstrow
R 包:readxl
data <- readxl::read_excel("data.xlsx")
R 包:haven
data <- haven::read_sas("data.sas7bdat")
R 包:haven
data <- haven::read_sav("data.sav")
log
R 用户通常用 R Markdown 或 Quarto 生成报告,而不是记录日志。
net
Stata
net install package, from(url)
R 包:remotes
remotes::install_github("user/package")
save
R 包:haven
haven::write_dta(data, "data.dta")
saveRDS(data, “data.rds”) 可以完整保留因子、日期等 R 数据类型。
saveold
Stata
saveold data.dta, version(13)
R 包:haven
haven::write_dta(data, "data.dta", version = 13)
search
??关键词 是简写。若要查找 Stata 命令对应的 R 函数,请使用 findit()。
ssc
R 包:utils
install.packages("package")
与 Stata 不同,安装后的包需要在每次会话中用 library(package) 加载。
use
R 包:haven
data <- haven::read_dta("data.dta")
变量标签和数值标签会被保留。R 原生格式的数据用 readRDS(“data.rds”) 或 load(“data.RData”) 载入。
webuse
R 包:haven
data <- haven::read_dta("https://www.stata-press.com/data/r18/nlswork.dta")