的效果by()
是分开对待性别。也就是说,Stata 的观点是您要求单独计算百分比。你可能需要over(gender)
这里。
(更新)示例数据与原始示例有很大不同。
. input str1 child Meanegg str1 gender str5 intensity
child Meanegg gender intensity
1. a 0 M None
2. b 55 F Heavy
3. c 47 F Light
4. end
. encode gender, gen(Gender)
. encode intensity, gen(Intensity)
考虑catplot
,可以使用下载
. ssc inst catplot
尝试类似的东西
. catplot Intensity Gender, asyvars percent(Gender) stack recast(bar)
(第二次更新)重要的是要意识到做什么graph bar (count)
。看看这些例子:
. sysuse auto
. graph bar (count) mpg
. graph bar (count) mpg , over(foreign)
这是第二个的图表。(count)
这里计算具有非缺失值的观察数。帮助中对此进行了说明。然而,这很少是人们想要的:更常见的是,人们想要一个变量的不同类别的计数。这可以用 来完成graph bar
,但用catplot
(SSC) 更容易。
为示例图说明:该图告诉您,mpg
国内汽车有 52 个非缺失值,外国汽车有 22 个。该图没有说明实际值是什么mpg
。
您可以说:但是该图向您显示了不同类别的频率foreign
。是的; 但仅限于mpg
对于 的每个非缺失值都有一个非缺失值foreign
。
(第三次更新)(回应 8 月 26 日的评论)研究以下内容:
. clear
. input var1 str3 var2
var1 var2
1. 44 "Yes"
2. 36 "No"
3. end
. graph bar (asis) var1, over(var2)
. graph bar (asis) var1, over(var2) percent
. graph bar (asis) var1, over(var2) percent asyvars bargap(20)