gpt4 book ai didi

SAS 为组的其余部分返回组中的第一个值

转载 作者:行者123 更新时间:2023-12-04 00:46:20 26 4
gpt4 key购买 nike

假设我有以下数据,但我基本上想为组中的其余值(底部的表格)复制 a 和 b 的第一个值。

例如,在第 1 组中,a 中的第一个值 = 3。我想用 3 替换组中的 2、4、1 -- 变量 b 也是如此。

原始数据:

grp a   b
----------
1 3 2
1 2 1
1 4 2
1 1 3
2 2 4
2 1 1
2 2 2
2 3 1

更新数据:

grp a   b
----------
1 3 2
1 3 2
1 3 2
1 3 2
2 2 4
2 2 4
2 2 4
2 2 4

提前致谢。

最佳答案

您可以使用按组处理和保留语句来执行此操作。请注意,输入数据集需要先按组排序才能工作。

data output(keep=grp a b);
retain firsta firstb;
set input;
by grp;
if first.grp then do;
firsta = a;
firstb = b;
end;
else do;
a = firsta;
b = firstb;
end;
run;

关于SAS 为组的其余部分返回组中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9605432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com