-1

我有一个数据集,其中有两个变量AB. 两者都有 100 个观察值。数据按A升序排列。我需要找到平均值B窗口由 决定的平均值A。根据 的第一次和最后一次观察A,必须运行循环。

例如,范围A是 300-340。让A(1)表示 的第一个值A。我需要运行一个循环,该循环将在值为 302 的那一刻中断AA(1)+2关键是每个不同的值可能有超过 1 个观察值A。例如,对于 300 和 301 的值A,如果有 10 个观察值,我需要B相应 10 个观察值的平均值。

同样,我需要从后面运行一个循环,即 340(降序循环)。对于 A-5 (335) 的值,底部可能有 30 个观测值。对于相应的 30 次观察,B我需要平均值。

4

1 回答 1

0

使用proc sql实现

PROC SQL;

SELECT A, AVG(B)
FROM SAS-DATASETS
GROUP BY A
ORDER BY A DESC;
RUN;
于 2013-04-03T17:07:18.963 回答