由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - sas question
相关主题
DATA step能left join吗?怎样储存我想要的proc means 的结果?
sas proc report的问题请教SAS LABEL问题。
SAS question: count non-missing value for different variables请问如果用SAS 解决这个问题
[合集] how to calculate column sum not row sum in SAS? thanks a lo请教关于SAS表格输出的问题
SAS question using PROC SQL 高手请进, 包子答谢请教flag问题
问个PROC SQL中INNER JOIN的问题请教proc sql处理missing value的问题
可以在proc sql中定义新的变量吗?包子问题请教( sas)
另外请教rtf 文件中 控制pagebreakPlease help with a SAS macro
相关话题的讨论汇总
话题: data话题: m11话题: m10话题: m7话题: m8
进入Statistics版参与讨论
1 (共1页)
c**********5
发帖数: 653
1
我第一次碰到这个问题,愁死我了。
大家有碰到这个的吗?
id m1 m2 m4 m5 m6 m7 m8 m11 m3 m9 m10 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
m11
1 1 1 1 1 1 1 1 1 . . . 1 2 8 3 4 5 6 7 8 8
8
我想要的结果是:
id m1 m2 M3 m4 m5 m6 m7 m8 m9 m10 M11 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
m11
1 1 1 . 1 1 1 1 1 . . 1 1 2 2 3 4 5 6 7 7 7
8
我的code:
%macro lp(data,var,var2,num);
proc sort data=&data;by id mon;run;
proc means data=&data n;
var &var;
by id mon;
where &var=1;
output out=&
c**********5
发帖数: 653
2
自己顶一下
c**********5
发帖数: 653
3
自己顶一下
D******n
发帖数: 2836
4
猜谜语吗?
就不能描述一下你要什么吗?
fts
以前有人光说没例子,现在有人光有例子又不做解释。

我第一次碰到这个问题,愁死我了。
大家有碰到这个的吗?
id m1 m2 m4 m5 m6 m7 m8 m11 m3 m9 m10 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
m11
1 1 1 1 1 1 1 1 1 . . . 1 2 8 3 4 5 6 7 8 8
8
我想要的结果是:
id m1 m2 M3 m4 m5 m6 m7 m8 m9 m10 M11 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
m11
1 1 1 . 1 1 1 1 1 . . 1 1 2 2 3 4 5 6 7 7 7
8
我的code:
%macro lp(data,var,var2,num);
proc sort data=&data;by id mon;run;
proc means data=&data n

【在 c**********5 的大作中提到】
: 我第一次碰到这个问题,愁死我了。
: 大家有碰到这个的吗?
: id m1 m2 m4 m5 m6 m7 m8 m11 m3 m9 m10 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
: m11
: 1 1 1 1 1 1 1 1 1 . . . 1 2 8 3 4 5 6 7 8 8
: 8
: 我想要的结果是:
: id m1 m2 M3 m4 m5 m6 m7 m8 m9 m10 M11 mc1 mc2 mc3 m4 m5 m6 m7 m8 m9 m10
: m11
: 1 1 1 . 1 1 1 1 1 . . 1 1 2 2 3 4 5 6 7 7 7

c**********5
发帖数: 653
5
对不起,不会发帖,错位啦。
M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12(我想要的顺序)
1 1 . 1 1 1 1 1 1 . . 1
然后,cumulative value
Mc1 Mc2 Mc3 Mc4 Mc5 Mc6 Mc7 Mc8 Mc9 Mc10 Mc11 Mc12(我想要的顺序)
1 2 2 3 4 5 6 7 8 8 8 9
SAS 的结果
M1 M2 M4 M5 M6 M7 M8 M9 M12 M3 M10 M11 (sas Ooutput1)
1 1 1 1 1 1 1 1 1 . . .
然后,cumulative value
Mc1 Mc2 Mc3 Mc4 Mc5 Mc6 Mc7 Mc8 Mc9 Mc10 Mc11 Mc12(sas Ooutput2)
1 2 9 3 4 5 6 7 8 9 9 9
c**********5
发帖数: 653
6
我想要的结果就是能够依次相加,不要跳过missing value。
我也尝试了在中间用array 赋值,让missingvalue=0,但是还是不行
b******e
发帖数: 539
7
你的sum function里多了一个 ’-‘
你的是:mc&i=sum(of mon1--mon&i);
应该是:mc&i=sum(of mon1-mon&i);
o****o
发帖数: 8077
8
a hint: use vname() and vvalue() functions to an array of
array _x{*} m1-m12 mc1-mc12;
you should be able to do it in one step

【在 c**********5 的大作中提到】
: 对不起,不会发帖,错位啦。
: M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12(我想要的顺序)
: 1 1 . 1 1 1 1 1 1 . . 1
: 然后,cumulative value
: Mc1 Mc2 Mc3 Mc4 Mc5 Mc6 Mc7 Mc8 Mc9 Mc10 Mc11 Mc12(我想要的顺序)
: 1 2 2 3 4 5 6 7 8 8 8 9
: SAS 的结果
: M1 M2 M4 M5 M6 M7 M8 M9 M12 M3 M10 M11 (sas Ooutput1)
: 1 1 1 1 1 1 1 1 1 . . .
: 然后,cumulative value

c**********5
发帖数: 653
9
谢谢各位。
mc&i=sum(of mon1-mon&i);and mc&i=sum(of mon1--mon&i);
两个都能工作。
array 不能解决我的实质问题。(array 和do loop 是一样功能,我在array
里面用 mc【i】=sum(of mc1-mc[i]) 不work。
请仔细看例子。如何解决依次相加并不跳过 missing value 的问题。
sas 是将missingvalue 放到最后加的
D******n
发帖数: 2836
10
I still dont get it.....why so hard to make it clear....fts

【在 c**********5 的大作中提到】
: 谢谢各位。
: mc&i=sum(of mon1-mon&i);and mc&i=sum(of mon1--mon&i);
: 两个都能工作。
: array 不能解决我的实质问题。(array 和do loop 是一样功能,我在array
: 里面用 mc【i】=sum(of mc1-mc[i]) 不work。
: 请仔细看例子。如何解决依次相加并不跳过 missing value 的问题。
: sas 是将missingvalue 放到最后加的

b******e
发帖数: 539
11
这两个是不一样的!你应该试过后再说。

【在 c**********5 的大作中提到】
: 谢谢各位。
: mc&i=sum(of mon1-mon&i);and mc&i=sum(of mon1--mon&i);
: 两个都能工作。
: array 不能解决我的实质问题。(array 和do loop 是一样功能,我在array
: 里面用 mc【i】=sum(of mc1-mc[i]) 不work。
: 请仔细看例子。如何解决依次相加并不跳过 missing value 的问题。
: sas 是将missingvalue 放到最后加的

c**********5
发帖数: 653
12
解决了。谢谢各位热心帮助。
%macro lp(data,var,var2,num);
data &data;set &data;if &var=. then &var=0;run;
proc sort data=&data;by id mon;run;
proc means data=&data n;
var &var;
by id mon;
where &var=1;
output out=&data._att_con n=&var2;
run;
proc sort data=&data._att_con;by id mon;run;
proc transpose data=&data._att_con out=&data._att_con_n (drop=_name_ _label_
) prefix=mon;
by id; ;
id mon;
var &var2;
run;
data &data._att_con_n;
set &data._att_con_n;
array mt{*} mon1-mon12;
do i=1 to dim(mt);
if mt{i}=. th
1 (共1页)
进入Statistics版参与讨论
相关主题
Please help with a SAS macroSAS question using PROC SQL 高手请进, 包子答谢
最大值和最小值输出问个PROC SQL中INNER JOIN的问题
Proc Surveyselect中, 当 reps >=2 时, 样本重复可以在proc sql中定义新的变量吗?
请教proc transpose 问题另外请教rtf 文件中 控制pagebreak
DATA step能left join吗?怎样储存我想要的proc means 的结果?
sas proc report的问题请教SAS LABEL问题。
SAS question: count non-missing value for different variables请问如果用SAS 解决这个问题
[合集] how to calculate column sum not row sum in SAS? thanks a lo请教关于SAS表格输出的问题
相关话题的讨论汇总
话题: data话题: m11话题: m10话题: m7话题: m8