全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3031 7
2016-04-05
auth_id        post_date               join_date
1 65661        06aug2004        10feb2004
2 65662        12mar2006        10Jan2005
3 65663        13aug2007        15nov2005
4 65661        15aug2004        10feb2004
5 65668         07jul2010         1mar2009
6 65667        18aug2009        7sep2008
7 65662        19jun2005        10Jan2005
8 65661        20dec2004        10feb2004
9 65665        23aug2007        5may2006
10 65662        24feb2005        10Jan2005

auth_id代表发帖人,post_date是发帖日期,join_date是用户加入日期,所以每一行代表某用户(auth_id)在某时刻(post_date)发帖,他在何时(join_date)加入论坛。我想知道,在该用户从加入的时期到1jan2010日这段时间内,有多少用户发了帖子,并且是发帖用户id的非重复值。
比如说,我希望得到的变量是var,而第一行的var就是从10feb2004到1jan2010,多少用户发过帖子,记录1,2,3,6,9应该都被计数,所以结果是5。
有命令可以统计这种情况的数据吗?
大晚上有点混乱,不知道有没有表达清楚!
感谢大家!!!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-5 08:37:26
用Excel:数据——合并计算;
用stata:count命令
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-5 08:51:16
j610f2012 发表于 2016-4-5 08:37
用Excel:数据——合并计算;
用stata:count命令
感谢回复!excel的话,我试过,但是数据量太大,算不出来。能详细指导一下stata的命令吗?我试着用egen var=count(auth_id) if post_date>join_date &post_date<2010/1/1,但是这样只能比较一行内的post_date和join_date,我需要post_date这一列中所有的日期跟join_date比较。
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-5 09:39:46
要写循环吗???TAT真的要想破脑壳了。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-5 23:34:57
请参考
*资料的输入与处理,希望楼主发问能提供更方便的资料输入
inp str10 auth_id  str10 post_date str10 join_date
65661        06aug2004        10feb2004
65662        12mar2006        10Jan2005
65663        13aug2007        15nov2005
65661        15aug2004        10feb2004
65668        07jul2010        1mar2009
65667        18aug2009        7sep2008
65662        19jun2005        10Jan2005
65661        20dec2004        10feb2004
65665        23aug2007        5may2006
65662        24feb2005        10Jan2005
. . 1jan2010
end
g joind=date(join_date,"DMY",2050)
g postd=date(post_date,"DMY",2050)

*楼主在帖子中已提到须要非重复值,所以建议duplicate指令
duplicates t auth_id if postd<18263 & joind<18263,g(var1)
duplicates drop auth_id if postd<18263 & joind<18263,force
count if var1!=.

祝 问题顺利解决
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-6 09:08:32
h3327156 发表于 2016-4-5 23:34
请参考
*资料的输入与处理,希望楼主发问能提供更方便的资料输入
inp str10 auth_id  str10 post_date st ...
希望楼主发问能提供更方便的资料输入
非常赞同!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群