全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1039 2
2017-05-07
libname xudata1  "C:\Users\XXXXXX\Documents\My SAS Files\data";
Data xudata1.Set_SURVEY;

input ID $ Gender $ Age Salary Ques1 Ques2 Ques3 Ques4 Ques5;
datalines;
001 M 23 28000 1 2 1 2 3
002 F 55 76123 4 5 2 1 1
003 M 38 36500 2 2 2 2 1
004 F 67 128000 5 3 2 2 4
005 M 22 23060 3 3 3 4 2
006 M 63 90000 2 3 5 4 3
007 F 45 76100 5 3 4 3 3
;
RUN;
proc format;
value $Gender 'M' = 'Male'
               'F' = 'Female'
               ' ' = 'Not entered'
               other = 'Miscoded';
value age low- 29 = 'Less than 30'
          30-50 = '30 to 50'
          51-high = '51+';
value $likert '1' = 'Strongly disagree'
               '2' = 'Disagree'
               '3' = 'No opinion'
               '4' = 'Agree'
               '5' = 'Strongly agree';

run;
title "Data Set SURVEY with Formatted Values";
proc print data= xudata1.set_SURVEY;
id ID;
var Gender Age Salary Ques1-Ques5;
format Gender $gender.
Age age.
Ques1- Ques5 $likert.
Salary dollar11.2;
run;

红色部分出错,如果删除红色部分没问题,

求教是什么问题?

谢谢

二维码

扫码加我 拉你入群

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

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

全部回复
2017-5-8 00:05:17
因为你的format定义和输入数据类型不匹配,ques1到ques5是数值型,format里又去按字符型定义。

Data xudata1;

input ID Gender $ Age Salary Ques1-Ques5;

datalines;
001 M 23 28000 1 2 1 2 3
002 F 55 76123 4 5 2 1 1
003 M 38 36500 2 2 2 2 1
004 F 67 128000 5 3 2 2 4
005 M 22 23060 3 3 3 4 2
006 M 63 90000 2 3 5 4 3
007 F 45 76100 5 3 4 3 3
;
RUN;
proc format;
value $gender 'M' = 'Male'
               'F' = 'Female'
               ' ' = 'Not entered'
               other = 'Miscoded';
value age low- 29 = 'Less than 30'
          30-50 = '30 to 50'
          51-high = '51+';
value likert 1 = 'Strongly disagree'
             2 = 'Disagree'
             3 = 'No opinion'
             4 = 'Agree'
             5 = 'Strongly agree';

run;
title "Data Set SURVEY with Formatted Values";
proc print data= xudata1;
id ID;
var Gender Age Salary Ques1-Ques5;
format Gender $gender.
Age age.
Ques1- Ques5 likert.
Salary dollar11.2;
run;
这样都改成数值型就可以了,你试试。

二维码

扫码加我 拉你入群

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

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

2017-5-8 21:19:01
foocares 发表于 2017-5-8 00:05
因为你的format定义和输入数据类型不匹配,ques1到ques5是数值型,format里又去按字符型定义。

Data xud ...
多谢多谢,
我在原代码上改不行,拷贝你的可以,我要研究一下。

---找到了原因了,

感谢

二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群