检查数据

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

assert

条件不成立时报错停止

Stata

assert x > 0

R 包:tidystata

assert(data, x > 0)

与 Stata 有差异 报告矛盾的观测数并返回数据,可用于管道中。缺失的 x 视为矛盾,与 Stata 不同(Stata 中缺失值大于任何数);要得到 Stata 的行为,写 assert(data, is.na(x) | x > 0)。

confirm

检查变量是否存在

Stata

confirm variable x

R 包:base

stopifnot("x" %in% names(data))

count

数据的行数

Stata

count

R 包:base

nrow(data)
另有 1 个示例及替代实现

计算满足条件的行数

Stata

count if x > 0

R 包:base

sum(data$x > 0, na.rm = TRUE)

与 Stata 有差异 Stata 数值缺失比较时大于所有有限数;R 比较返回 NA。应先明确处理缺失,再使用条件。

distinct

查看某些变量未重复行的数目

Stata

distinct x1 x2, joint

R 包:dplyr

nrow(distinct(data, x1, x2))

duplicates

列出重复个案

Stata

duplicates list x1 x2

R 包:tidystata

duplicates_list(data, x1, x2)

报告重复个案

Stata

duplicates report x1 x2

R 包:tidystata

duplicates_report(data, x1, x2)

标记重复个案

Stata

duplicates tag x1 x2, generate(dup)

R 包:tidystata

duplicates_tag(data, x1, x2, .name = "dup")

isid

检查变量能否唯一识别个案

Stata

isid id wave

R 包:tidystata

isid(data, id, wave)

mdesc

每个变量的缺失值数目

Stata

mdesc

R 包:tidystata

summ(data, .stat = "missing")

misstable

缺失值模式

Stata

misstable patterns

R 包:tidystata

misstable(data, .patterns = TRUE)

与 Stata 相同,1 表示有观测值,0 表示缺失。

每个变量的缺失值数目

Stata

misstable summarize

R 包:tidystata

misstable(data)

base R:colSums(is.na(data))。