楼主: xgnfly
3532 15

[原创博文] 请问如何进行以下数据转换 [推广有奖]

  • 0关注
  • 0粉丝

已卖:166份资源

本科生

40%

还不是VIP/贵宾

-

威望
0
论坛币
798 个
通用积分
0.1200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
774 点
帖子
84
精华
0
在线时间
18 小时
注册时间
2007-6-30
最后登录
2013-8-14

楼主
xgnfly 发表于 2010-5-23 17:40:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
将以下数据
A1  B1 C1
A2  B2 C2
A3  B3 C3
A4  B4 C4
转换为
A1  B1 C1
A1  B1 C2
A1  B1 C3
A1  B1 C4
A1  B2 C1
A1  B2 C2
A1  B2 C3
A1  B2 C4
A1  B3 C1
A1  B3 C2
A1  B3 C3
A1  B3 C4
.
.
.
.
.
二维码

扫码加我 拉你入群

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

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

关键词:数据转换 如何

回帖推荐

wkn1986 发表于8楼  查看完整内容

data ty; input x1 $ x2 $ x3 $; cards; A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 ; run; data a; set ty; keep x1; run; data b; set ty; keep x2; run; data c; set ty; keep x3; run; data ty4; set a; do j=1 to m; set b point=j nobs=m; do i=1 to n; set ty2 point=i nobs=n; output; end; end; run; 又写了个,不过感觉太麻烦了,还请高人写个简单的。

本帖被以下文库推荐

沙发
gssdzc 在职认证  发表于 2010-5-23 17:48:49
ding ........................

藤椅
haojiancomeon 发表于 2010-5-23 17:59:41
??????????????????

板凳
G! 发表于 2010-5-23 18:05:52
不懂呢................

报纸
xiaosanmao 发表于 2010-5-23 18:35:49
第二列没有遍历到B4,所以你这个例子没有任何代表性。

直到B3终止,是前三个循环,还是倒数第二个终止,有很多说法的,所以终止条件不明确

地板
wkn1986 发表于 2010-5-23 18:39:36
data ty;
input x1 $ x2 $ x3 $;
cards;
A1  B1 C1
A2  B2 C2
A3  B3 C3
A4  B4 C4
;
run;
data ty1;
set ty;
drop x3;
run;
data ty2;
set ty;
keep x3;
run;
data ty3;
set ty1;
do i=1 to n;
set ty2 point=i nobs=n;
output;
end;
run;
不知这个可以不

7
wkn1986 发表于 2010-5-23 18:41:20
呵呵,刚才没看明白,抱歉,上面的不对

8
wkn1986 发表于 2010-5-23 18:46:48
data ty;
input x1 $ x2 $ x3 $;
cards;
A1  B1 C1
A2  B2 C2
A3  B3 C3
A4  B4 C4
;
run;
data a;
set ty;
keep x1;
run;
data b;
set ty;
keep x2;
run;
data c;
set ty;
keep x3;
run;
data ty4;
set a;
do j=1 to m;
set b point=j nobs=m;
do i=1 to n;
set ty2 point=i nobs=n;
output;
end;
end;
run;
又写了个,不过感觉太麻烦了,还请高人写个简单的。
已有 1 人评分热心指数 收起 理由
crackman + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

9
crackman 发表于 2010-5-23 18:53:33
data crackman;
input a $ b $ c$ @;
call symput("A"||left(_n_),a);
call symput("B"||left(_n_),b);
call symput("C"||left(_n_),c);
cards;
A1  B1 C1
A2  B2 C2
A3  B3 C3
A4  B4 C4
;
run;
%macro crackman;
data crackman;
%do i=1 %to 4;
a="&&A&i.";
       %do j=1 %to 4;
          b="&&B&j.";
            %do k=1 %to 4;
            c="&&C&k.";
            output;
            %end;
          output;
       %end;
output;
%end;
run;
%mend crackman;
%crackman;

10
maochang616 发表于 2010-5-23 19:28:56
o ,shi biancheng a

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

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