由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教一个看起来挺简单但我怎么也弄不出来的sas程序
相关主题
HOW TO UPDATE DATA BY STRATUM一个sas问题的解决方法讨论
SAS 问题求助[提问]怎样sort这个dataset?
发包子求助SAS codesas问题
求助:data manipulation的一个问题用 sas 分组问题
求教proc sql 问题sas大牛们这个要怎么实现呀
一个简单的SAS 问题请教sas中两个数据有条件地合并问题
请教一个 SAS macroHow to combine overlapped data
sas问题请教一个用SAS作DATA MERGE的问题
相关话题的讨论汇总
话题: sumcc话题: test话题: run话题: data话题: proc
进入Statistics版参与讨论
1 (共1页)
t********m
发帖数: 939
1
data test;
input id cc;
cards;
1 1
1 1
2 2
2 2
2 2
;
run;
proc sort data=test;
by id;
run;
我想得到的data如下:
id cc sumcc
1 1 2
1 1 2
2 2 3
2 2 3
2 2 3
也就是说我想统计每个id有多少行数据并将那个值赋给sumcc,最后打印出id的每个
record但是要包含sumcc这个变量。
看着挺简单,可一时搞不出来。请教各位大侠了,多谢多谢!
s******r
发帖数: 1524
2
proc sql;
proc means;
and then merge back?

【在 t********m 的大作中提到】
: data test;
: input id cc;
: cards;
: 1 1
: 1 1
: 2 2
: 2 2
: 2 2
: ;
: run;

n*****n
发帖数: 3123
3
data test;
input id cc;
cards;
1 1
1 1
2 2
2 2
2 2
;
run;
proc sort test;
by id;
run;
proc freq data=test;
table id / out=counts;
run;
data test;
merge test counts(keep = id count rename=(count=sumcc));
by id;
run;
x********i
发帖数: 1
4
根本不用merge的,下面程序就可以满足你要求了:
data test;
input id cc;
cards;
1 1
1 1
2 2
2 2
2 2
;
run;
***********my code;
proc sql;
create table test2 as
select *, count(id) as sumcc
from test
group by id;
run;
t********m
发帖数: 939
5
我写了几乎一样的程序,不过没用count这个function而是用的sum,所以怎么也得不到
我想要的,瞧我笨的啊。多谢大侠!

【在 x********i 的大作中提到】
: 根本不用merge的,下面程序就可以满足你要求了:
: data test;
: input id cc;
: cards;
: 1 1
: 1 1
: 2 2
: 2 2
: 2 2
: ;

t********m
发帖数: 939
6
谢谢,这个方法可行,就是有些些复杂了。

【在 n*****n 的大作中提到】
: data test;
: input id cc;
: cards;
: 1 1
: 1 1
: 2 2
: 2 2
: 2 2
: ;
: run;

t********m
发帖数: 939
7
Thanks,最早就是想到用这个,不过觉得麻烦就没用了。楼下那个proc sql可行。

【在 s******r 的大作中提到】
: proc sql;
: proc means;
: and then merge back?

G********L
发帖数: 12
8
data newtest;
set test;
by id;
if first.id then sumcc=0;
sumcc+1;
if last.id;
run;
data test;
merge test newtest;
by id;
run;

【在 t********m 的大作中提到】
: data test;
: input id cc;
: cards;
: 1 1
: 1 1
: 2 2
: 2 2
: 2 2
: ;
: run;

a***d
发帖数: 336
9
proc sql won't give you multiple lines for same id as you want in your
example. to get multiple lines, you will need to merge back.

【在 t********m 的大作中提到】
: Thanks,最早就是想到用这个,不过觉得麻烦就没用了。楼下那个proc sql可行。
1 (共1页)
进入Statistics版参与讨论
相关主题
请教一个用SAS作DATA MERGE的问题求教proc sql 问题
interview questions about data management一个简单的SAS 问题
关于merge data的问题!!!请教一个 SAS macro
请教一下R的Data Manipulationsas问题
HOW TO UPDATE DATA BY STRATUM一个sas问题的解决方法讨论
SAS 问题求助[提问]怎样sort这个dataset?
发包子求助SAS codesas问题
求助:data manipulation的一个问题用 sas 分组问题
相关话题的讨论汇总
话题: sumcc话题: test话题: run话题: data话题: proc