组合具有不同列数的SAS数据集
我在合并两个列数不同的表时遇到问题组合具有不同列数的SAS数据集,sas,Sas,我在合并两个列数不同的表时遇到问题 col1 col2 col3 col4 George 10 10 10 Lucy 10 10 10 Peter 3 . . <=
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
假设我的第一张表是表1:
table1
t1_col_1 t1_col_2 t1_col_3 ... t1_col_13
table2
t2_col_1 t2_col2 t2_col3 t2_col4
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
我的第二张表是表2:
table1
t1_col_1 t1_col_2 t1_col_3 ... t1_col_13
table2
t2_col_1 t2_col2 t2_col3 t2_col4
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
现在,如果我键入命令:
data table3;
set tabel1 table2;
run;
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
表3的内容是什么
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
SAS链接显示此命令执行以下操作:
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
由于列号不同,连接将导致问题
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
那么这个命令到底是如何工作的呢?在这种情况下,它的输出是什么?附加(连接)两个或多个数据集基本上就是将数据集与同名变量中的值叠加在一起。每个数据集中的唯一变量将在新的组合数据集中形成它们自己的变量。现在我们有不同数量的变量。本文解释了具有不同变量的数据集之间的连接方式:
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
例如,假设我们有:
data work.table1;
input col1 $ col2 col3 col4;
datalines;
George 10 10 10
Lucy 10 10 10
;
run;
data work.table2;
input col1 $ col2;
datalines;
Shane 3
Peter 3
;
run;
data work.table3;
set table1 table2;
run;
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
输出:
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
col1 col2 col3 col4
乔治1010
露西10 10 10
彼得3 附加(连接)两个或多个数据集基本上就是将数据集与同名变量中的值叠加在一起。每个数据集中的唯一变量将在新的组合数据集中形成它们自己的变量。现在我们有不同数量的变量。本文解释了具有不同变量的数据集之间的连接方式:
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
例如,假设我们有:
data work.table1;
input col1 $ col2 col3 col4;
datalines;
George 10 10 10
Lucy 10 10 10
;
run;
data work.table2;
input col1 $ col2;
datalines;
Shane 3
Peter 3
;
run;
data work.table3;
set table1 table2;
run;
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
输出:
col1 col2 col3 col4
George 10 10 10
Lucy 10 10 10
Peter 3 . . <== These entries are
Shane 3 . . empty.
col1 col2 col3 col4
乔治1010
露西10 10 10
彼得3。谢谢你的回复。但这是我的要求,我不能使用合并。好的,我已经将我的方法更改为连接。既然我看不到你的日期集,我想你应该做的就是连接。谢谢你的回复。但这是我的要求,我不能使用合并。好的,我已经将我的方法更改为连接。因为我看不到你的日期集,所以我假设你要做的就是连接。Mukesh,你能解释一下你想要实现什么吗?您并没有确切地描述您希望实现的内容。@John,正如您所看到的,有两个表的列号不同。现在,如果我键入上面的命令数据table3。。。它将如何在这方面工作,基本上是表3上的输出是什么样子的?Mukesh,你能解释一下你想要实现什么吗?您并没有确切地描述您希望实现的内容。@John,正如您所看到的,有两个表的列号不同。现在,如果我键入上面的命令数据table3。。。它将如何处理这个问题,基本上是表3中的输出是什么样子的?