楼主: freeseaman
2632 3

请教高手: 如何将纵向字符数据合并 [推广有奖]

  • 0关注
  • 0粉丝

本科生

3%

还不是VIP/贵宾

-

威望
0
论坛币
107 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
670 点
帖子
145
精华
0
在线时间
1 小时
注册时间
2008-10-3
最后登录
2009-11-27

楼主
freeseaman 发表于 2009-3-23 10:11:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

有以下数据集:

id  gid txt
1  1  a
2  1  b
3  1  c
4  2  e
5  2  f
6  3  g

怎样才能把TXT根据GID 合并成如下数据集:
id gid  txt
1   1   abc
2   2   ef
3   3   g
请问哪位大虾知道? 帮忙解决下这个问题!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:请教高手 数据合并 txt 数据集 ABC 高手 字符 数据合并

回帖推荐

steve10 发表于2楼  查看完整内容

按照你给的例子,可以用下面的程序。 需要注意一点,txt 后面$10.很重要。如果你将来得到的txt的长度超过10,那么你就必须事先调整这个数字。data T; input id  gid txt $10.; datalines;1  1  a2  1  b3  1  c4  2  e5  2  f6  3  g;run;proc sort data = T; by gid;run;data T; set T; if _n_=1 then   p=txt; retai ...

本帖被以下文库推荐

沙发
steve10 发表于 2009-3-23 11:19:00

按照你给的例子,可以用下面的程序。 需要注意一点,txt 后面$10.很重要。如果你将来得到的txt的长度超过10,那么你就必须事先调整这个数字。

data T;
 input id  gid txt $10.;
 datalines;
1  1  a
2  1  b
3  1  c
4  2  e
5  2  f
6  3  g
;
run;

proc sort data = T;
 by gid;
run;

data T;
 set T;
 if _n_=1 then
  p=txt;
 retain p;
 if gid=lag(gid) then
  p = cats(p,txt);
 else
     p=txt;
 drop id;
run;

data t_sub;
 set T;
 by gid;
 last=last.gid;
 if last=1;
 drop txt;
run;

data t_sub;
 set t_sub;
 drop last;
 id=_n_;
 rename p=txt;
run;


quit;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

藤椅
sushe1527 发表于 2009-3-23 11:27:00

well done,LS的

板凳
freeseaman 发表于 2009-3-23 20:53:00
多谢STEVEN10. 我得好好学学了。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 21:14