我正在尝试创建一个图表,查看感染疾病的每个年龄组的百分比,即他们在变量eggs10
中的平均蛋数> 0,然后将其除以{{1} 1}}感染或lightly
感染。
我的尿液中的平均蛋数有变量:heavily
我有一个变量,我正在查看eggs10
我有一个强度变量:gender
light
当我输入时:
heavy
它给我100%的男性和女性作为感染的流行率!如何获得gr bar (count) eggs10, stack asyvars over(intense) by(gender) percent
> 0作为y轴的百分比?
答案 0 :(得分:2)
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)会更容易。
要拼出示例图表:图表告诉您国内汽车有52个非缺失值mpg
,外国汽车有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)