楼主: 子衿1219
1288 1

[原创博文] 宏命令相关 [推广有奖]

  • 1关注
  • 4粉丝

讲师

70%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
1.0023
学术水平
2 点
热心指数
0 点
信用等级
1 点
经验
13521 点
帖子
326
精华
0
在线时间
431 小时
注册时间
2012-3-19
最后登录
2018-7-8

楼主
子衿1219 发表于 2012-6-18 16:09:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
因为处理缺失符号的问题我把age当做字符型读取,然后后面遇到要对age进行各种处理我就必须再转化为数字型。
我写的程序如下。
%macro combine;
data all;
set
%do i=1 %to 4;
data&i
%end;
; /*合并四个文件*/
age=input(age,2.);/*转化格式*/
proc print;run;
proc sort;
by sex;
proc means mean std min max Q3 N NMISS;/*做mean处理可是结果显示不出。*/
var age;
by sex;
%mend;
%combine;
run;
可是有问题。
log 报错如下:Variable age in list does not match type prescribed for this list.想问下,应该如何调试?
二维码

扫码加我 拉你入群

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

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

关键词:宏命令 prescribed Variable prescrib combine prescribed 宏命令 程序 如何

沙发
00810112 发表于 2012-6-20 10:06:36
不清楚你的log是那一段里面出的,但是我感觉这里可能有几个地方可能出问题:
1、格式转化,好像不能直接改变变量的格式,你可以试试age2=input(age,2.)然后rename下
2、如果age太长,input(age,2.)可能得不到你想要的结果,试试input(left(age),2.)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-11 00:43