由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 如何在data step里实现多个变量分类后进行一系列的计算?
相关主题
[急求助] survival analysis (SAS)再请教一个PROC SQL JOIN的问题。。。。
关于stepwise programming一个SAS问题(transpose?)
请问sas中一个变量的内容被两个左斜杠(/)分成了三部分A SAS question
怎样用R定位变量的位置怎样储存我想要的proc means 的结果?
怎样用R除掉DUPLICATED RECORDHow to change sas dataset column order
[合集] └ Re: 关于stepwise programmingmixed models
Ask 2 simple SAS questions,thanksSAS question
请问SAS中如何通过组内一个变量的值控制整组变量【包子】弱问个dummy variable问题
相关话题的讨论汇总
话题: sum话题: calculated话题: p2话题: p3话题: p1
进入Statistics版参与讨论
1 (共1页)
a**w
发帖数: 60
1
proc sql里可以实现, 但是code 显得太笨:
proc sql;
create table a as
select *,
sum(P1) as sum_P1,
sum(P2) as sum_P2,
sum(P3) as sum_P3,
sum(P4) as sum_P4,
.
.
.
sum(P98) as sum_98,
sum(P99) as sum_99,
sum(P100) as sum_100,
sum(Q) as sum_Q,
calculated sum_P1/calculated sum_Q as F1,
calculated sum_P2/calculated sum_Q as F2,
calculated sum_P3/calculated sum_Q as F3,
calculated sum_P4/calculated sum_Q as F4,
.
.
.
calculated sum_P98/calculated sum_Q as F98,
calculated sum_P99/calculated sum_Q as F99,
calculated sum_P1oo/calculated sum_Q as F100
from s
group by var1, var2, var3
order by var1, var2, var3;
quit;
a**w
发帖数: 60
2
I tried to use a data step, but can't get the requested result.
%macro sum;
data a1;
set s;
by var1 var2 var3;
%do i=1 %to 100;
if first.var3 then %do;
sum_QH&i.=0;
sum_QH&i.+QH&i.;
sum_Q=0;
SUM_Q+Q;
if last.var3;
%end;
%end;
run;
data a;
set a1;
%do %i=1 %to 100;
F=sum_QH&i./sum_Q;
%end;
run;
%mend sum;
%sum
m******r
发帖数: 1033
3
你这不是写的挺好么。 基本就是这个思路。 用first. , last. 进行累加,计数.

【在 a**w 的大作中提到】
: I tried to use a data step, but can't get the requested result.
: %macro sum;
: data a1;
: set s;
: by var1 var2 var3;
: %do i=1 %to 100;
: if first.var3 then %do;
: sum_QH&i.=0;
: sum_QH&i.+QH&i.;
: sum_Q=0;

a**w
发帖数: 60
4
magliner, thank you for the encouragement (sorry can't type Chinese at the
company).
But the code can't produce the same result as the one from the PROC SQL. So
my question is:
In the data step, can we exactly summarize based on a few sorted "by
variables"?
As in the first. and last., we can only include one variable rather than all
"by variables". The result therefore I got is something unexpected.

【在 m******r 的大作中提到】
: 你这不是写的挺好么。 基本就是这个思路。 用first. , last. 进行累加,计数.
a**w
发帖数: 60
5
问题解决了. 用了一个宏loop, proc sql 和 data step merge.
但是data step的方法, 还是不清楚. 可能data step实现不了

【在 m******r 的大作中提到】
: 你这不是写的挺好么。 基本就是这个思路。 用first. , last. 进行累加,计数.
m******r
发帖数: 1033
6
你试两个变量, 不用红,纯数据步, 纯累加, 看和sql得到的结果一不一样。
就这么点东西,还loop一百次 过一星期自己都看不明白了。

【在 a**w 的大作中提到】
: 问题解决了. 用了一个宏loop, proc sql 和 data step merge.
: 但是data step的方法, 还是不清楚. 可能data step实现不了

a**w
发帖数: 60
7
我被do loop搞昏了. 经你提醒, 才发现几个变量在sort之后累积的结果, 跟sql得到的
值是一样的.

【在 m******r 的大作中提到】
: 你试两个变量, 不用红,纯数据步, 纯累加, 看和sql得到的结果一不一样。
: 就这么点东西,还loop一百次 过一星期自己都看不明白了。

c*******7
发帖数: 2506
8
Proc report?
1 (共1页)
进入Statistics版参与讨论
相关主题
【包子】弱问个dummy variable问题怎样用R除掉DUPLICATED RECORD
新手请教大家一个sas 问题,多谢指教[合集] └ Re: 关于stepwise programming
请问如果用SAS 解决这个问题Ask 2 simple SAS questions,thanks
help! 读CSV文件读得要崩溃了请问SAS中如何通过组内一个变量的值控制整组变量
[急求助] survival analysis (SAS)再请教一个PROC SQL JOIN的问题。。。。
关于stepwise programming一个SAS问题(transpose?)
请问sas中一个变量的内容被两个左斜杠(/)分成了三部分A SAS question
怎样用R定位变量的位置怎样储存我想要的proc means 的结果?
相关话题的讨论汇总
话题: sum话题: calculated话题: p2话题: p3话题: p1