全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8001 10
2014-06-03
原数据集如下:
name   visit   date                value
aaa       N1    20081225       111
aaa       N2    20081225       121
aaa       N1    20090122       112
aaa       N2    20090122       122
aaa       N1    20090416       113
aaa       N2    20090416       123
aaa       N3    20090416       133
可以看到,相同颜色的为同一次visit, 但是红色部分有三个N(N1 N2 N3), 所有我希望在前两次visit中也产生一行观测值=N3, date=N2的时间,value=空 就可以。即结果希望如下:
name   visit   date                value
aaa       N1    20081225       111
aaa       N2    20081225       121
aaa       N3    20081225       
aaa       N1    20090122       112
aaa       N2    20090122       122
aaa       N3    20090122      
aaa       N1    20090416       113
aaa       N2    20090416       123
aaa       N3    20090416       133
不知哪位仁兄能帮忙解答一下?谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-6-3 17:02:11
复制代码
二维码

扫码加我 拉你入群

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

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

2014-6-3 18:30:53
zhengbo8 发表于 2014-6-3 17:02
恩,刚才试了下,没有问题。但是,你这个code里面是对date进行处理,因为我给的例子是特例,日期是一致的,但是有时候N1和N2的date是不同的,还这样处理的话就多出来一些观测值。比如将第二条观测值的date改为20081230,就不行了。我的数据集是通过sort by date visit来确定前两个观测值是一组,3、4是一组,最后三个是一组的。不知我表述是否清楚?希望你再给我一些提示。多谢
二维码

扫码加我 拉你入群

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

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

2014-6-3 18:51:20
这个就不好处理了,最好给源数据集。
二维码

扫码加我 拉你入群

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

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

2014-6-3 19:35:12
zhengbo8 发表于 2014-6-3 18:51
这个就不好处理了,最好给源数据集。
obs        name        date        visit        value
1        aaa        20090306        N1        100
2        aaa        20090306        N2        28
3        aaa        20100716        N1        28
4        aaa        20100716        N2        97
5        aaa        20101008        N1        80
6        aaa        20101010        N2        98
7        aaa        20101229        N1        82
8        aaa        20101229        N2        50
9        aaa        20110323        N1        49
10        aaa        20110323        N2        26
11        aaa        20110323        N3        75
这是源数据。前面是两两一组,最后三个是一组,我是想在前面四组中也分别生成一个N3, 使得N3的date=N2的date, value=空 即可。但是你仔细看,第5、6个观测值虽然是一组,但是日期差两天,而不是相同,如果按照你之前的code, 则会生成分别对应的那天没有的N&i。这样就多了一组观测值。不知怎么解决这个问题。
二维码

扫码加我 拉你入群

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

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

2014-6-6 00:04:37
Laughing06 发表于 2014-6-3 19:35
obs        name        date        visit        value
1        aaa        20090306        N1    ...
在后边加一个新变量N,第一组用1表示,第二组用2表示,第三组用3表示,第四组用4表示,第五组用5表示,再用二楼的code就能得到结果了,只是需要对code改动一下,需要加入新变量N放里面。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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