stata - 显示两个变量类别比例的简单条形图
问题描述
在 Stata 中,我有两个变量,一个是询问是否打算在某个日期接种疫苗,并带有是/否/不确定作为回答选项,然后是第二个变量,几个月后向相同的参与者询问相同的问题。我想创建一个条形图,其中每个变量都有一个垂直条,并且选择每个响应的人的比例相互堆叠。
解决方案
在没有数据示例或任何代码尝试的情况下,这里是对您可能会发现有用的一些技术的猜测。
使用两个变量graph bar
(或catplot
(SSC)或tabplot
(Stata Journal))将很容易给出一个用于两个分类变量交叉分类的条形图。
您似乎要求并排进行两个边际分布。
最简单的方法可能是生成两个单独的条形图,然后应用graph combine
.
更多的工作,但在许多方面更好的方法是临时重组数据以允许应用over()
和by()
。本文详细解释了这种方法。这是任何人都可以运行的示例代码(请注意,它clear
是任何现有数据)。
/// toy dataset
clear
set obs 100
set seed 2803
gen var1 = cond(_n <= 20, 1, cond(_n <= 30, 2, 3))
gen var2 = cond(_n <= 10, 1, cond(_n <= 20, 2, 3))
preserve
/// use your own variable names
stack var1 var2, into(var) clear
label def _stack 1 before 2 after
label val _stack _stack
label def var 1 no 2 "not sure" 3 yes
label val var var
set scheme s1color
graph bar (percent), by(_stack, note("")) over(var) ytitle(percent) yla(, ang(h))
graph bar (percent), by(var, note("") row(1)) over(_stack) ytitle(percent) yla(, ang(h))
restore
我认为不,不确定,是的自然顺序。
推荐阅读
- excel - 有没有更好或更有效的方式来编写这段 VBA 代码?
- zabbix - 如何在 Zabbix 中更改默认表达式
- active-directory - 使用 Okta 对 AD 进行身份验证?
- javascript - 角度:错误 TS2314:通用类型“分页端点”需要 1 个类型参数
- angular - 用于通用 Angular 组件的 NgRx 设计
- javascript - Fetch API 在 Chrome 扩展弹出窗口中陷入无限循环
- c# - 获取产品和类别的 ViewModel
- javascript - 使Angular mat-table中的行数长于dataSource的长度
- python - 给定一个包含多个日期和每个日期多次的 pandas 数据框,我如何选择每个日期的时间?
- list - 引用列表包含可变和不可变元素python