楼主: ziyenano
1534 2

方差分析的数据读入 [推广有奖]

  • 0关注
  • 52粉丝

院士

7%

还不是VIP/贵宾

-

威望
2
论坛币
6137 个
通用积分
27.3565
学术水平
338 点
热心指数
326 点
信用等级
298 点
经验
57352 点
帖子
879
精华
1
在线时间
4132 小时
注册时间
2012-1-4
最后登录
2025-5-7

楼主
ziyenano 发表于 2012-7-10 19:47:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
方差分析中,要求数据为如下形式:
group   x  
  A      1
  A      2
  A      1
  B      3
  B      3
  B      1
  C      1
  ...

但很多时候我们得到的数据是这样的形式:
  A    1  2  1
  B    3  3  1
  C    1  2  3

  如何读入这种数据,得到理想的形式;
  数据量小,可以手工输入,但若数据到达几百几千,就行不通了。

  通过以下程序,可以解决这种问题;
  data  a;
  input group $ @;
  do i=1 to 3; /*此处为各组数据量相等的情况*/
  input x @;
  output;
  end;
  cards;
    A    1  2  1
    B    3  3  1
    C    1  2  3
  ;
  run;

  若各组数据量不等;
   A    1  2  1  4  5
   B    3  3  1  4  
   C    1  2  3
   上述的方法必然行不通,需要将程序稍加修改;
  data  a;
  infile cards missover;
  input group $ @;
  do i=1 to 5; /*循环的终量要大于等于任意一组的数据量,这里的循环终量就要>=5*/
  input x @;
  if x =. then delete;
  output;
  end;
  cards;
   A    1  2  1  4  5
   B    3  3  1  4  
   C    1  2  3
  ;
  run;

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

当然也有这种数据:
  A   B    C
  1   3    1
  2   3    2
  1   1    3


这类数据的读入,好多教材都讲过,简单说一下;
data a(drop=i);
array  name(3) $  _temporary_ ('A','B','C');
do i=1 to dim(name);
input x@@;
group=name(i);
output;
end;
  1   3    1
  2   3    2
  1   1    3
;
run;



希望能有所帮助。

二维码

扫码加我 拉你入群

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

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

关键词:方差分析 数据读入 TEMPORARY missover output 数据

沙发
sunkai_bick 在职认证  学生认证  发表于 2012-7-10 20:12:27
好啊

藤椅
wallyone 发表于 2014-2-22 22:20:58
有用

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

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