构造数据

先查看各命令展开的示例,再按需展开其他选项及 R 实现。改写代码前,请阅读适用条件及差异说明。

expand

每行复制 n 次

Stata

expand n

R 包:tidyr

uncount(data, n)

与 Stata 有差异 uncount() 默认删除 n 变量;加上 .remove = FALSE 可以保留。 uncount() 默认删除计数列且零计数会删除行;Stata expand 保留计数变量,计数小于一时仍保留观测。

fillin

补齐若干变量取值的所有组合,并保留其他变量

Stata

fillin x1 x2

R 包:tidyr

complete(data, x1, x2)

与 Stata 有差异 expand(data, x1, x2) 只返回取值组合;expand_grid(x1 = 1:5, x2 = c(“a”, “b”)) 可以从零生成所有组合。 complete() 补齐组合但不创建 Stata fillin 的 _fillin 标记;因子水平和缺失键组合也需明确设置。

input

手动输入数据

Stata

input x y

R 包:tibble

tibble(x = c(1, 2), y = c(3, 4))

set

生成指定行数的数据

Stata

set obs 100

R 包:tibble

data <- tibble(id = 1:100)