You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中实现类似Stata tab命令的变量观测值统计功能?

R中类似Stata tab 命令的替代方法

Stata里的tab命令用来统计变量各取值对应的观测总数,在R中有多种常用的等价实现方式:

1. 基础R函数 table()

这是最直接的替代方案,用法简洁,传入变量即可得到频数统计:

# 示例:定义二元变量a
a <- c(0,1,0,0,1,1)
# 统计各取值的观测数
table(a)

输出结果会直接展示每个取值对应的观测数量,逻辑和Stata的tab完全一致。

2. dplyr包的count()函数

如果习惯使用tidyverse生态,dplyr的count()可以更灵活地完成统计,还能结合其他数据操作流程:

library(dplyr)
# 示例:构造包含变量a的数据框
df <- data.frame(a = c(0,1,0,0,1,1))
# 统计变量a的取值频数
df %>% count(a)

输出会是一个结构化的数据框,包含取值列和对应的频数列,可读性更强。

3. janitor包的tabyl()函数

janitor包的tabyl()专门用来生成类似Stata风格的频数表,还能自动计算百分比:

library(janitor)
# 统计变量a的频数及百分比
tabyl(df$a)

除了基础频数,还会给出行百分比、总百分比,功能比table()更贴近Statatab的扩展用法。

内容的提问来源于stack exchange,提问作者user19745561

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:24:51