楼主: ccgcs
1685 6

[问答] 求助:如何处理成单条的观测 [推广有奖]

  • 0关注
  • 3粉丝

本科生

92%

还不是VIP/贵宾

-

威望
0
论坛币
205 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2015 点
帖子
114
精华
0
在线时间
101 小时
注册时间
2010-10-18
最后登录
2016-6-6

楼主
ccgcs 发表于 2013-4-9 12:51:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
姓名小组时间abcde

1

11

1

2

2

0

2

0

2

1

1

0

0

1

3

1

0

0

1

0

2

7

1

2

1

0

0

1

2

1




1

3

2

0

0

1

0

3

11

1

3

2

1

1

0

2

2

2

1

0

0







4

3

1

2

1

2

0

1

2

0

0

1

0

0

3

1

0

1

0

0

数据存在于excel中,大概结构如上,每个人对5个指标进行3次数据采集,现在想把数据导入到sas中,并把3次数据转为1行,即一个观测,然后进行相应分析处理,求教如何从目前excel的这个状态转换成sas每个人一条观测的状态,非常感谢!
补充:首先非常感谢朋友们的热心帮助。补充下,数据中有一些缺失值,开始忘记描述了,要保留相应的缺失值。按照楼下朋友的方法,缺失值就看不到了,而且数据构架就乱了。
二维码

扫码加我 拉你入群

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

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

关键词:EXCEL xcel 非常感谢 exce 数据导入 如何

本帖被以下文库推荐

  • · sas|主题: 59, 订阅: 14

沙发
webgu 发表于 2013-4-9 13:20:54
  1. data  want;
  2.   infile  datalines;
  3.   input #1 name        group time1         a1         b1         c1         d1         e1;
  4.   input  #2  time2  a2           b2           c2         d2         e2;
  5.   input #3  time3         a3         b3         c3         d3         e3;
  6. datalines;
  7. 1        11         1        2        2        0        2        0
  8.                  2        1        1        0        0        1
  9.                  3        1        0        0        1        0
  10. 2        7        1        2        1        0        0        1
  11.                 2        1        0        0        0        1
  12.                 3        2        0        0        1        0
  13. 3        11        1        3        2        1        1        0
  14.                 2        2        2        1        0        0
  15.                 3        1        2        1        0        0
  16. 4        3        1        2        1        2        0        1
  17.                 2        0        0        1        0        0
  18.                 3        1        0        1        0        0

  19. run;
复制代码

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

藤椅
ccgcs 发表于 2013-4-10 08:47:50
非常感谢,数据结构开始我没说清楚,刚更新,各位再帮看看,如何处理,谢谢!

板凳
zhengbo8 发表于 2013-4-10 08:52:02
小组,那个数是什么?怎么算的。

报纸
yongyitian 发表于 2013-4-10 10:09:08
cc.xls (17.5 KB)
excel data

PROC IMPORT OUT= WORK.ccs
            DATAFILE= "F:\MySAS\cc.xls"
            DBMS=EXCEL REPLACE;
     SHEET="Sheet1$";
     GETNAMES=YES;
     MIXED=YES;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;
data ccs_1;
   set ccs;
   retain tmpn tmpg;
   if name^=. then tmpn=name;
        else name=tmpn;
  if group^=. then tmpg=group;
        else group = tmpg;
  drop tmpn tmpg;
run;
proc sort data=ccs_1;
     by name group;
run;

data ccs_2;
    merge ccs_1 (where=(time=1))
          ccs_1 (where=(time=2) rename=(a=a1 b=b1 c=c1 d=d1 e=e1))
          ccs_1 (where=(time=3) rename=(a=a2 b=b2 c=c2 d=d2 e=e2));
    by name group;
drop time;
run;
proc print data=ccs_2; run;

地板
jingju11 发表于 2013-4-10 11:13:49
  1. *after importing from excel to have:;
  2. data have2;
  3.         set have;
  4.         by name notsorted;
  5.         array r[1,2] _temporary_;
  6.         array n1[5,3] a1-a3 b1-b3 c1-c3 d1-d3 e1-e3 (15 *.);
  7.         array n2[5] a b c d e;
  8.         if name ^=. then r[1,1] =name; if group ^=. then r[1,2] =group;
  9.         if time in (1:3) then do i =1 to 5; *Assume no time, no observations;
  10.                 n1[i,time] =n2[i];
  11.         end;
  12.         if (name =. & last.name) then  do;
  13.                 name =r[1,1]; group =r[1,2];
  14.                 output;
  15.                 call missing(of n1[*]);
  16.         end;
  17.         drop a b c d e;
  18. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
yongyitian + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
yongyitian 发表于 2013-4-10 18:43:36
jingju11 发表于 2013-4-10 11:13
二维数组用精彩

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

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