由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - [SAS]问个简单的data manipulation
相关主题
SAS DATA PROCESSING 问题请教一个SQL 的问题
问个SAS PROC CORR的问题SQL check likeness between two large tables
SAS -proc transpose 急问!再问一个sas输出的问题 (export)
sas大牛们这个要怎么实现呀问个比较具体的算法问题
请教个SAS问题在线等,垂直合并数据集
怎样用R除掉DUPLICATED RECORD请教sas高人(数据读入)
help. txt 读入问题SAS how to change variables' name
晕菜了, logistic regression with time-dependent covariates[合集] 不是统计专业的, 问个excel的问题
相关话题的讨论汇总
话题: group话题: data话题: run话题: ind5话题: ind4
进入Statistics版参与讨论
1 (共1页)
a***r
发帖数: 420
1
比如有一个dataset
group($) id($)
1 IND1
1 IND2
2 IND3
2 IND4
3 IND5
3 IND6
想把它变成:
group($) id_1($) id_2($)
1 IND1 IND2
2 IND3 IND4
3 IND5 IND6
应该怎么做?
sorry这个问题版上肯定有人问过,但是时间比较紧来不及考古了
非常感谢!!
h********o
发帖数: 103
2
Try this:
============================
DATA TEST;
INPUT GROUP $ ID $;
CARDS;
1 IND1
1 IND2
2 IND3
2 IND4
3 IND5
3 IND6
;
PROC SORT DATA = ONE;
BY GROUP;
RUN;
DATA ONE(RENAME = (ID = ID1))
TWO(RENAME = (ID = ID2)) ;
SET TEST;
BY GROUP;
IF FIRST.GROUP THEN OUTPUT ONE;
IF LAST.GROUP THEN OUTPUT TWO;
RUN;
DATA FINAL;
MERGE ONE TWO;
BY GROUP;
RUN;
s*********r
发帖数: 909
3
proc transpose data=old out=new(drop=_name_) prefix=id_;
by group;
var id;
run;
a***r
发帖数: 420
4
thanks! that works

【在 h********o 的大作中提到】
: Try this:
: ============================
: DATA TEST;
: INPUT GROUP $ ID $;
: CARDS;
: 1 IND1
: 1 IND2
: 2 IND3
: 2 IND4
: 3 IND5

a***r
发帖数: 420
5
谢谢!
这个code比较短,不过我觉得在data步里做可能会快一些~

【在 s*********r 的大作中提到】
: proc transpose data=old out=new(drop=_name_) prefix=id_;
: by group;
: var id;
: run;

d******9
发帖数: 404
6
You can use Proc Transpose or Array to do it.Here is the array method.
Proc sort data=Old ;
By Group;
Run;
Data New;
Set Old;
By group;
Array ID(n) $ V1-Vn; --- n is the max number of distinct ID in a group.
Retain V1-Vn;
Keep group V1-Vn;
If first.group then do I=1 to n;
CNT=0;
ID(I)=.;
End;
CNT+1;
ID(CNT)=ID;
If last.group;
Run;

【在 a***r 的大作中提到】
: 比如有一个dataset
: group($) id($)
: 1 IND1
: 1 IND2
: 2 IND3
: 2 IND4
: 3 IND5
: 3 IND6
: 想把它变成:
: group($) id_1($) id_2($)

d******9
发帖数: 404
7
This is not a general method.
如果任何一个 group 有 > 2 的不同 ID, 比如说 Group 6 有 6个不同ID, 此方法就有
问题了。

【在 h********o 的大作中提到】
: Try this:
: ============================
: DATA TEST;
: INPUT GROUP $ ID $;
: CARDS;
: 1 IND1
: 1 IND2
: 2 IND3
: 2 IND4
: 3 IND5

1 (共1页)
进入Statistics版参与讨论
相关主题
[合集] 不是统计专业的, 问个excel的问题请教个SAS问题
overall mean in sas for several variables怎样用R除掉DUPLICATED RECORD
how to trasform data.help. txt 读入问题
help for a sas question晕菜了, logistic regression with time-dependent covariates
SAS DATA PROCESSING 问题请教一个SQL 的问题
问个SAS PROC CORR的问题SQL check likeness between two large tables
SAS -proc transpose 急问!再问一个sas输出的问题 (export)
sas大牛们这个要怎么实现呀问个比较具体的算法问题
相关话题的讨论汇总
话题: group话题: data话题: run话题: ind5话题: ind4