stata写命令:对变量a按照b分组,并求出分组后的各组样本占总样本的百分比
时间: 2024-02-21 22:00:08 浏览: 20
可以使用`egen`命令中的`group()`函数来对变量a按照变量b进行分组,并使用`summarize`命令来计算各组的百分比。以下是示例代码:
```
// 导入数据
use "data.dta", clear
// 对变量a按照变量b进行分组
egen group_var = group(b)
// 计算各组样本占总样本的百分比
summarize a if !missing(a), meanonly
gen total_obs = r(N)
bysort group_var: summarize a if !missing(a), meanonly
gen group_obs = r(N)
gen percent_obs = group_obs / total_obs * 100
// 查看结果
list group_var percent_obs
```
在代码中,我们首先导入数据文件"data.dta"。然后使用`egen`命令中的`group()`函数对变量a按照变量b进行分组,将分组结果保存在新变量group_var中。接着使用`summarize`命令计算整个样本中变量a的均值,将结果保存在系统变量r(mean)中。然后使用`bysort`命令按照group_var对数据进行排序,并使用`summarize`命令计算各组中变量a的均值,将结果保存在系统变量r(mean)中。将各组中的观测数保存在新变量group_obs中,并计算各组样本占总样本的百分比,将结果保存在新变量percent_obs中。最后使用`list`命令查看结果。
注意,需要将代码中的"data.dta"替换为你自己的数据文件名,变量a和变量b替换为你自己的变量名。另外,如果变量a或变量b存在缺失值,可以使用`if`语句来排除缺失值。