【发布时间】:2015-02-19 15:42:30
【问题描述】:
这些数据代表冰淇淋偏好,个人可以随着时间的推移改变这些偏好
id time flavor_str flavor_enc
1 1 C 1
1 2 C 1
1 3 V 2
2 1 S 3
2 2 V 2
2 3 C 1
3 1 V 2
4 1 C 1
4 2 V 2
注意:flavor_enc 显示的是一个数字,但在 Stata 中它会以蓝色显示字符串名称,代表数字
两个问题。
当我从编码中创建一个变量时,例如
g initial_pref = 0
replace initial_pref = flavor_enc if = time == 1
或
bysort id: egen max_pref = max(flavor_enc)
变量first_pref 采用编码后的数字,但我希望保持与flavor_enc 相同的格式。
然后我想创建一个堆积条形图(在 x 轴上按风味)和频率(在 y 轴上)。该图表将有一个条形表示给定风味是某人最初偏好的次数,第二个表示该风味是某人第二次偏好的次数(他们从最初的偏好切换,否则为 0),以及最后一个代表口味的次数是他们的第三偏好。
对于这些数据,图表将使用这些输入。
C as initial = 2
V as initial = 1
S as initial = 1
C as second = 0
V as second = 3
S as second = 0
C as third = 1
V as third = 0
S as third = 0
我尝试graph bar 使用堆叠选项,但没有奏效。我还可以看到如何在 Stata 之外执行此操作,但希望 Stata 具有该功能。
【问题讨论】:
-
在您的示例数据中,您是否知道
C、S和V都被编码为3forid ==2?还存在其他不一致。他们是故意的吗?你提到了一个变量first_pref,但你编码initial_pref。这些应该是一样的吗? -
@RobertoFerrer 谢谢,这是一个错字。固定
-
“格式”这个词在计算中严重超载,这不是你的错。但至关重要的是,Stata 对显示格式的理解与您的问题无关,这似乎是关于保留价值标签的问题,正如@RobertoFerrer 解释的那样,一个字的答案是
clonevar。
标签: graph visualization stata