楼主: travelerlzx
1369 4

请教关于数组的报错的问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
52 点
帖子
6
精华
0
在线时间
22 小时
注册时间
2013-4-12
最后登录
2014-1-10

楼主
travelerlzx 发表于 2013-8-16 23:34:40 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
原数据集A具有比较多的观测和变量,其变量包含变量minu1-minu1920,需要进行一些处理,我用了以下的程序
data B;
set A;
array mi(1920) minu1-minu1920;
array stel(480);
do i=1 to 480;
stel(i)=(mi(i*4-3)+mi(i*4-2)+mi(i*4-1)+mi(i*4))/4;
end;
run;

之前用运行类似的程序都没有问题,但是今天跑这个程序的时候总是报错:
Not all variables in the list minu1-minu1920 were found.

原数据集A中的确包括变量minu1-minu1920,并且stel的赋值也能够实现,但是数组mi没有在B数据集中出现,并且在log中报错。想了很久都不知道原因,所以写上来向高手们请教,先谢谢了。
二维码

扫码加我 拉你入群

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

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

关键词:Variables Variable array found list 程序

沙发
moyunzheng 发表于 2013-8-17 00:18:59
显然minu1-minu1920含有1920个变量,而不是1900
如果定义为1900,报错是ERROR: Too many variables defined for the dimension(s) specified for the array mi.

藤椅
travelerlzx 发表于 2013-8-17 20:23:05
moyunzheng 发表于 2013-8-17 00:18
显然minu1-minu1920含有1920个变量,而不是1900
如果定义为1900,报错是ERROR: Too many variables defined ...
谢谢回复。不好意思,这是我将代码敲帖子来的时候敲错了,数组定义的时候也是1920的。

板凳
moyunzheng 发表于 2013-8-18 14:55:26
即使数据集a中没有这些变量(例如只有1900个),也不会出错的呀。像下面的程序,只会提示“NOTE: 缺失值的生成是对缺失值执行操作的结果”。所以这个错误真是这一语句块中出现的吗?
  1. data a;
  2. retain minu1-minu1900 1;
  3. run;

  4. data B;
  5. set A;
  6. array mi(1920) minu1-minu1920;
  7. array stel(480);
  8. do i=1 to 480;
  9. stel(i)=(mi(i*4-3)+mi(i*4-2)+mi(i*4-1)+mi(i*4))/4;
  10. end;
  11. run;
复制代码

报纸
travelerlzx 发表于 2013-8-18 23:40:34
moyunzheng 发表于 2013-8-18 14:55
即使数据集a中没有这些变量(例如只有1900个),也不会出错的呀。像下面的程序,只会提示“NOTE: 缺失值的生 ...
是的,我为了查错已经将其他程序段都注释掉了,但仍然报原帖中的错误。

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

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