按组复制 SAS 中的值 [英] Replicating values in SAS by group
本文介绍了按组复制 SAS 中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个数据集,其中包含测量结果和收集数据的具体日期.我想在几天之间复制这些值,直到最后一个测量日.例如,这里是复制前的数据:
测量日主题1 .85 -1主题1 .86 1主题 1 .91 7主题 1 .83 9主题 2 .77 0主题 2 .82 5主题 2 .86 12
我想修改上面的数据集,如下所示:
测量日主题1 .85 -1主题1 .85 0主题1 .86 1主题 1 .86 2主题 1 .86 3主题1 .86 4主题1 .86 5主题1 .86 6主题 1 .91 7主题 1 .91 8主题 1 .83 9主题 2 .77 0主题 2 .77 1主题 2 .77 2主题 2 .77 3主题 2 .77 4主题 2 .82 5主题 2 .82 6主题 2 .82 7主题 2 .82 8主题 2 .82 9主题 2 .82 10主题 2 .82 11主题 2 .86 12
解决方案
您可以通过将合并后的数据偏移一行并省略 by
语句来进行前瞻合并";p>
(假设您的数据按主题和日期排序)
<上一页>数据合并1;合并有有 (rename=(day=nextday subject=nextsubject) drop=measurement firstobs=2) ;如果 subject = nextsubject 然后 _day = day to nextday - 1 ;输出 ;结尾 ;否则做;_day = 天;输出 ;结尾 ;drop day nextday next 主题;重命名_day =天;跑 ;I have a data set containing a measurement and the specific day it was collected. I would like to replicate the values between days, up until the last measurement day. For example, here is the data before it is replicated:
Measurement Day
Subject1 .85 -1
Subject1 .86 1
Subject1 .91 7
Subject1 .83 9
Subject2 .77 0
Subject2 .82 5
Subject2 .86 12
I would like to modify the data set above to look like the following:
Measurement Day
Subject1 .85 -1
Subject1 .85 0
Subject1 .86 1
Subject1 .86 2
Subject1 .86 3
Subject1 .86 4
Subject1 .86 5
Subject1 .86 6
Subject1 .91 7
Subject1 .91 8
Subject1 .83 9
Subject2 .77 0
Subject2 .77 1
Subject2 .77 2
Subject2 .77 3
Subject2 .77 4
Subject2 .82 5
Subject2 .82 6
Subject2 .82 7
Subject2 .82 8
Subject2 .82 9
Subject2 .82 10
Subject2 .82 11
Subject2 .86 12
解决方案
You can do a 'look ahead merge' by offsetting the merged data by one row, and omitting the by
statement;
(assumes your data is sorted by Subject and Day)
data merge1 ; merge have have (rename=(day=nextday subject=nextsubject) drop=measurement firstobs=2) ; if subject = nextsubject then do _day = day to nextday - 1 ; output ; end ; else do ; _day = day ; output ; end ; drop day nextday nextsubject ; rename _day = day ; run ;
这篇关于按组复制 SAS 中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文