由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 问个SAS的问题,可能比较复杂
相关主题
SAS应用问题请教一个用SAS作DATA MERGE的问题
两个有关于R的小问题?如何强行合并两个datasets?
今天又“R”了 -- 感想和请教。How to prevent values being trucated when merging two files
更新一下Taste of R,再问两个R的问题。Matlab怎样把matrix的data转到vector里面?
请教一个SAS coding请教一下SAS编程的一个问题
SAS question using PROC SQL 高手请进, 包子答谢help need for SAS macro
再问R的问题 - 关于matrix 的operation【包子】merge 语句里的(in= )
请教如何写这个sas代码?SAS code help
相关话题的讨论汇总
话题: lipitor话题: crestor话题: zetia话题: zocor话题: product
进入Statistics版参与讨论
1 (共1页)
p***e
发帖数: 118
1
有DATA1
Num Product
1 Lipitor
1 Crestor
1 Zetia
1 Zocor
变成 DATA2
Num Product
1 Lipitor
1 Crestor
2 Lipitor
2 Zetia
3 Lipitor
3 Zocor
4 Crestor
4 Zetia
5 Crestor
5 Zocor
基本上把col2的产品名字排列组合一下,请问这里的高人有没有什么简便方法?
谢谢谢谢
k*******a
发帖数: 772
2
用 proc sql 可以做 cross join,然后transpose就可以了
p***e
发帖数: 118
3
厉害厉害,明白了

【在 k*******a 的大作中提到】
: 用 proc sql 可以做 cross join,然后transpose就可以了
k*******a
发帖数: 772
4
这样可能更简单些
data a;
input num product $;
datalines;
1 Lipitor
1 Crestor
1 Zetia
1 Zocor
;
data b;
set a(keep=product rename=(product=product1)) nobs=nobs;
do i=_N_+1 to nobs;
num+1;
product=product1;
output;
set a(keep=product) point=i;
output;
end;
drop product1;
run;

【在 p***e 的大作中提到】
: 厉害厉害,明白了
p***e
发帖数: 118
5
你是天才!

【在 k*******a 的大作中提到】
: 这样可能更简单些
: data a;
: input num product $;
: datalines;
: 1 Lipitor
: 1 Crestor
: 1 Zetia
: 1 Zocor
: ;
: data b;

p***e
发帖数: 118
6
请再问一下,
对这样的table
Num    Product Counts
1    Lipitor 33
1    Crestor 555
1    Zetia 3234
1    Zocor 212
好像用这个方法,counts不好对应,
不知道有没有方法用retain来做这样counts也能对应
另有一个问题,
Product Counts
Lipitor 33
Crestor 555
Zetia 3234
Zocor 212
变成
Product Lipitor Crestor Zetia Zocor
Lipitor X 588 3267 245
Crestor 588 X 3889 767
Zetia 3267 3889 X 3446
Zocor 245 767 3446 X
不同产品的counts 求和,有没有什么简单方法??
我用了transpose 三次以上,方法特别笨
多谢多谢

【在 k*******a 的大作中提到】
: 这样可能更简单些
: data a;
: input num product $;
: datalines;
: 1 Lipitor
: 1 Crestor
: 1 Zetia
: 1 Zocor
: ;
: data b;

s******r
发帖数: 1524
7
proc sql;
create table ttt2 as
select a.product, b.product as product2, a.counts+b.counts as counts from
ttt a inner join ttt b on a.product ne b.product
order by a.product, b.product
;
quit;run;
proc transpose data=ttt2 out=ttt3(drop=_name_);by product; id product2;var
counts;run;

【在 p***e 的大作中提到】
: 请再问一下,
: 对这样的table
: Num    Product Counts
: 1    Lipitor 33
: 1    Crestor 555
: 1    Zetia 3234
: 1    Zocor 212
: 好像用这个方法,counts不好对应,
: 不知道有没有方法用retain来做这样counts也能对应
: 另有一个问题,

1 (共1页)
进入Statistics版参与讨论
相关主题
SAS code help请教一个SAS coding
借人 气问 两个 问题:SAS question using PROC SQL 高手请进, 包子答谢
求教 SAS base 123 Q 16再问R的问题 - 关于matrix 的operation
【包子】求percentile问题请教如何写这个sas代码?
SAS应用问题请教一个用SAS作DATA MERGE的问题
两个有关于R的小问题?如何强行合并两个datasets?
今天又“R”了 -- 感想和请教。How to prevent values being trucated when merging two files
更新一下Taste of R,再问两个R的问题。Matlab怎样把matrix的data转到vector里面?
相关话题的讨论汇总
话题: lipitor话题: crestor话题: zetia话题: zocor话题: product