楼主: jolterheadmmtt
2081 19

[问答] input建立数据集的问题 [推广有奖]

  • 8关注
  • 2粉丝

硕士生

50%

还不是VIP/贵宾

-

威望
0
论坛币
122 个
通用积分
0.0067
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3519 点
帖子
154
精华
0
在线时间
106 小时
注册时间
2012-9-19
最后登录
2014-9-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
帮忙看一下下面的code啊,各位同学:

data a;
  input ID $1. year $4. SBP 3. DBP;
  datalines;
   1 1950 130 80
   1 1950 144 75
   1 1951 211 90
   2 1950 77  76
   2 1951 66  66
   3 1952 155 76
   3 1952 154 80
   3 1950 144 42
   3 1951 180 80
   2 1951 166 89
   ;
run;

但是输出地结果是:
The SAS System                                                                                                                                                                                                                   20:13 Tuesday, July 2, 2013   1
Obs    ID    year     SBP    DBP
  1           1      1950    130
  2           1      1950    144
  3           1      1951    211
  4           2      1950     77
  5           2      1951     66
  6           3      1952    155
  7           3      1952    154
  8           3      1950    144
  9           3      1951    180
10           2      1951    166


ID一列是空的,这是为什么呢????那位能帮我解答一下啊
二维码

扫码加我 拉你入群

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

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

关键词:Input put 数据集 Tuesday System

刚才有试了一下,code改为

data a;
  input ID  year  SBP  DBP;
  datalines;
   1 1950 130 80
   1 1950 144 75
   1 1951 211 90
   2 1950 77  76
   2 1951 66  66
   3 1952 155 76
   3 1952 154 80
   3 1950 144 42
   3 1951 180 80
   2 1951 166 89
   ;
run;

这样就可以得到想要的数据集,可是为什么呢?input后面是可以规定格式的啊????

使用道具

藤椅
playmore 发表于 2013-7-3 13:06:54 |只看作者 |坛友微信交流群
jolterheadmmtt 发表于 2013-7-3 11:31
刚才有试了一下,code改为

data a;
好像input后面跟的变量只定义个字符型(后加$)和数值型(后什么都不加)
然后通过informat子句定义变量的输入格式
反正我是这么做的,可不可以直接在input后定义格式我也不清楚,你可以查查SAS的文档
明白了记得回我个贴子,我也好学习下
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

使用道具

playmore 发表于 2013-7-3 13:06
好像input后面跟的变量只定义个字符型(后加$)和数值型(后什么都不加)
然后通过informat子句定义变量 ...
谢谢你啊,又学到了一个知识点
不过input后应该是可以定义长度的,如下code就可以正常运行:
而且我也见过书上的例子,是可以的

data parts;
   input PART_NO  $3.  PARTNAME $ price;
cards;
123 HAMMER 25.00
232 PLIERS 8.50
333 SAW 18.00
432 NAILS .01
587 SCREWS .05
;
run;

使用道具

报纸
pobel 在职认证  发表于 2013-7-3 13:25:56 |只看作者 |坛友微信交流群
这主要是Formatted INPUT和List INPUT的区别。
Formatted input中如果format指定了长度的话,那么SAS会读取指定长度,而不关心是不是空格。

data a;
  input var1 $ var2 $5. var3 $5. ;
  put _all_;
  datalines;
aa bbbbb  cc ddd
;
run;

另外: 楼主第一个例子中(  input ID $1. year $4. SBP 3. DBP;)SBP的值会是4位么?
和谐拯救危机

使用道具

地板
playmore 发表于 2013-7-3 13:49:48 |只看作者 |坛友微信交流群
pobel 发表于 2013-7-3 13:25
这主要是Formatted INPUT和List INPUT的区别。
Formatted input中如果format指定了长度的话,那么SAS会读取 ...
就是说一旦定义了长度,不管数值还是字符,都要写够位数了?
我翻了下我过去写的代码,一般都用了@控制位置,或者dlm=控制分隔符
像lz这样的情况还真是没遇到过
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

使用道具

7
boe 发表于 2013-7-3 13:54:57 |只看作者 |坛友微信交流群
一个是数据块没有顶格,另一个就是SBP 3.的问题。
input好复杂。。。
Gorgeous girl , I love !

使用道具

8
jolterheadmmtt 发表于 2013-7-3 14:02:07 |只看作者 |坛友微信交流群
boe 发表于 2013-7-3 13:54
一个是数据块没有顶格,另一个就是SBP 3.的问题。
input好复杂。。。
一定要顶格写么?
是啊,我input遇到了各种问题

使用道具

9
boe 发表于 2013-7-3 14:09:49 |只看作者 |坛友微信交流群
jolterheadmmtt 发表于 2013-7-3 14:02
一定要顶格写么?
是啊,我input遇到了各种问题
不定格的话,需要仔细确定真实位置,一个一个地数。
顶格之后这样,input ID $2. year $5. SBP 3. DBP;。。。
Gorgeous girl , I love !

使用道具

10
pobel 在职认证  发表于 2013-7-3 14:29:33 |只看作者 |坛友微信交流群
playmore 发表于 2013-7-3 13:49
就是说一旦定义了长度,不管数值还是字符,都要写够位数了?
我翻了下我过去写的代码,一般都用了@控制位 ...
用:和format配合会方便很多:

data a;
  input var1 : $ var2 : $5. var3 : $5. ;
  put _all_;
  datalines;
aa bbbbb  cc ddd
;
run;
和谐拯救危机

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-7 17:57