Stata 为在两个组合期间出现两种情况之一的个人创建虚拟
我用的是Stata 我想了解从TUS获得的描述性统计数据(即时间使用调查):全职工人每天工作的总时间(因为这些数据来自卢森堡,全职工人的工作日至少为8小时)。 因此,我在TUS的子样本上工作,其中只有声明被雇用的人 在这个数据集(子样本)中,每人有两次观察,一次在周末,一次在一周内(即,这是一种短面板数据集) 因为我只对全职工作的人感兴趣,所以我想衡量两类人在这两天的总工作时间:Stata 为在两个组合期间出现两种情况之一的个人创建虚拟,stata,panel-data,dummy-variable,Stata,Panel Data,Dummy Variable,我用的是Stata 我想了解从TUS获得的描述性统计数据(即时间使用调查):全职工人每天工作的总时间(因为这些数据来自卢森堡,全职工人的工作日至少为8小时)。 因此,我在TUS的子样本上工作,其中只有声明被雇用的人 在这个数据集(子样本)中,每人有两次观察,一次在周末,一次在一周内(即,这是一种短面板数据集) 因为我只对全职工作的人感兴趣,所以我想衡量两类人在这两天的总工作时间: 在一周内工作的个人,每周工作时间为8小时或以上,周末工作时间为0小时(周六和周日) 在一周和周末工作的个人(如服务员
几天来,我一直在为我的两个问题寻找答案,在我把问题贴在这里之后不久,我找到了一个答案,我将与大家分享 第一到第三点引出问题1的答案。;第四点和第五点引出问题2的答案。 首先,我生成总的每日工作时间,它由四个相互排斥的工作活动(工作1工作2工作3工作4)所花费的时间给出;变量weekend==1(当观察值指周末时),否则为0
cap drop tsw
egen tsw = rowtotal(working_act1 working_act2 working_act3 working_act4)
label var tsw "Time spent working"
tab tsw if weekend==0
tab tsw if weekend==1
其次,我创建了一个变量,告诉我在某一天,一个人是没有工作还是全职工作
cap drop ft_workrest_day
gen ft_workrest_day = (tsw >=8) | tsw==0 if weekend==1
replace ft_workrest_day = (tsw >=8) if weekend==0
label var ft_workrest_day "Worked_8h or rested"
第三,我创建了一个等于2的变量,用于一天全职工作,另一天休息的人(即变量id_ind),以及所有其他人在这两天工作的人,该值缺失
cap drop ft_worker
bys id_ind: egen ft_worker = total(cond(ft_workrest_day>0, ft_workrest_day, .))
replace ft_worker = . if ft_worker==0 | ft_worker==1
label var ft_worker "Works at least 8h"
第四,我为在w-e工作的ft_工人创建了一个等于1的变量
cap drop we_worker_2
gen we_worker_2 = 0 if ft_worker==2
replace we_worker_2 = 1 if tsw!=0 & ft_worker==2 & weekend==1
browse id_ind weekend tsw ft_workrest_day ft_worker we_worker_2
label var we_worker_2 "Works at least 8h in the w-e"
第五,我创建了一个变量,当一个人在两天都全职工作时,该变量等于1,而对于在一周内全职工作并在工作日休息的人,该变量等于0
cap drop we_worker_1
bys id_ind: egen we_worker_1 = max(we_worker_2)
browse id_ind weekend tsw ft_workrest_day ft_worker we_worker_2 we_worker_1
label var we_worker_1 "Full-time w-e worker"
这里的问题至少应该尝试一些代码。否则,最好显示一个数据示例。没有理由强迫其他人发明变量名、数据示例等:其他人很难吸收一个长单词描述类型
ssc inst dataex
来安装一个程序,这使得您给我们一个数据示例很容易。非常感谢您的建议@NickCox!很高兴你解决了你的问题。如果您想让它对其他人更有用,您可以通过包含一个令牌数据示例使其自包含。旅行的一般想法是什么?请注意,genworker=work\u statst==0
是您第一点的更简洁的解决方案。感谢@NickCox的消息。在我习惯了dataex命令之后(也谢谢!)我在问题中引入了一个数据集示例(参见[UPDATE])。示例数据和代码仍然不能一起工作。没有变量work\u stat
(或者是work\u stat
?)。因此,代码将在第一次故障时失败。
cap drop we_worker_1
bys id_ind: egen we_worker_1 = max(we_worker_2)
browse id_ind weekend tsw ft_workrest_day ft_worker we_worker_2 we_worker_1
label var we_worker_1 "Full-time w-e worker"