SAS中文论坛

标题: 两个表合并的问题 [打印本页]

作者: shiyiming    时间: 2011-11-28 17:22
标题: 两个表合并的问题
我有两个correlation matrix表格,一个表左下角有数,另一个表右上角有数。怎么把两个表合成一个?

如:
表一:
variable var1 var2 var3
var1   1
var2   0.2 1  
var3   0.5  0.7 1

表一:
variable var1 var2 var3
var1   1 0.2 0.5
var2   .     1  0.7
var3   .     .      1
作者: shiyiming    时间: 2011-11-28 22:08
标题: Re: 两个表合并的问题
is this meets your expectations?
data t1;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 . .
var2 0.2 1 .
var3 0.5 0.7 1
;
run;

data t2;
length var $4.;
input var $ var1 var2 var3 ;
datalines;
var1 1 0.2 0.5
var2 . 1 0.7
var3 . . 1
;
run;

*method 1;

data t;
merge t1 t2(rename=(var1=tvar1 var2=tvar2 var3=tvar3));
by var;
if missing(var1) then var1=tvar1;
if missing(var2) then var2=tvar2;
if missing(var3) then var3=tvar3;
drop tvar:;
run;

*method 2;
proc sql;
create table tt as
select a.var,coalesce(a.var1,b.var1) as var1,coalesce(a.var2,b.var2) as var2,coalesce(a.var3,b.var3) as var3
from t1 a join t2 b
on a.var eq b.var;
quit;
作者: shiyiming    时间: 2011-11-29 01:06
标题: Re: 两个表合并的问题
谢谢sun,再问一下啊,我有很多个variable,十几个,那么有没有更简便一点的方法呢?
作者: shiyiming    时间: 2011-11-29 08:09
标题: Re: 两个表合并的问题
或许可以用update
[code:2htgyrlh]data t3;
    update t1 t2;
    by var;
run;[/code:2htgyrlh]
作者: shiyiming    时间: 2011-11-29 21:57
标题: Re: 两个表合并的问题
<!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
这个可用,也简单,赞!撒花~~~~~~

[quote=&quot;hopewell&quot;:zvubh2zl]或许可以用update
[code:zvubh2zl]data t3;
    update t1 t2;
    by var;
run;[/code:zvubh2zl][/quote:zvubh2zl]




欢迎光临 SAS中文论坛 (https://www.mysas.net/forum/) Powered by Discuz! X3.2