楼主: jolterheadmmtt
2686 19

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

11
boe 发表于 2013-7-3 14:36:36
pobel 发表于 2013-7-3 14:29
用:和format配合会方便很多:

data a;
请问,字符型和日期型是不是加冒号是最保险的?
Gorgeous girl , I love !

12
pobel 在职认证  发表于 2013-7-3 14:48:44
boe 发表于 2013-7-3 14:36
请问,字符型和日期型是不是加冒号是最保险的?
在input语句中,冒号和informat一起用时,SAS应该是从下一个非空的字符开始读数据,直到informat指定的长度,或者是遇到了空格为止。

所以,如果不同变量值之间有空格的话,个人认为加上冒号还是更保险的。
和谐拯救危机

13
boe 发表于 2013-7-3 15:47:42
pobel 发表于 2013-7-3 14:48
在input语句中,冒号和informat一起用时,SAS应该是从下一个非空的字符开始读数据,直到informat指定的长 ...
嗯,日期型数据,年份是两位的话,不加冒号是个灾难
Gorgeous girl , I love !

14
jolterheadmmtt 发表于 2013-7-3 16:38:15
pobel 发表于 2013-7-3 14:29
用:和format配合会方便很多:

data a;
可是这个:和format一起为什么方便呢?
:的意思不是说中间有空格的么?

15
jolterheadmmtt 发表于 2013-7-3 16:38:45
boe 发表于 2013-7-3 14:09
不定格的话,需要仔细确定真实位置,一个一个地数。
顶格之后这样,input ID $2. year $5. SBP 3. DBP ...
恩,这个试了一下,确实这样,谢谢你哈

16
jolterheadmmtt 发表于 2013-7-3 16:39:35
playmore 发表于 2013-7-3 13:49
就是说一旦定义了长度,不管数值还是字符,都要写够位数了?
我翻了下我过去写的代码,一般都用了@控制位 ...
用@控制位置的话,岂不是很麻烦,还要知道这个变量是从第几列开始的?

17
pobel 在职认证  发表于 2013-7-3 16:48:11
jolterheadmmtt 发表于 2013-7-3 16:38
可是这个:和format一起为什么方便呢?
:的意思不是说中间有空格的么?
你可以试一下在informat前面加上冒号,
input ID : $1. year : $4. SBP : 3. DBP;
这样SAS就能跳过每行数据前面的空格,并且可以处理数据间有多个空格的情况
和谐拯救危机

18
boe 发表于 2013-7-3 17:57:48
pobel 发表于 2013-7-3 16:48
你可以试一下在informat前面加上冒号,
input ID : $1. year : $4. SBP : 3. DBP;
这样SAS就能跳过每 ...
有道理
Gorgeous girl , I love !

19
jolterheadmmtt 发表于 2013-7-4 10:42:49
pobel 发表于 2013-7-3 16:48
你可以试一下在informat前面加上冒号,
input ID : $1. year : $4. SBP : 3. DBP;
这样SAS就能跳过每 ...
en~是这样啊原来,明白了,谢谢老师啊!

20
boe 发表于 2013-7-9 17:36:17
jolterheadmmtt 发表于 2013-7-3 16:38
可是这个:和format一起为什么方便呢?
:的意思不是说中间有空格的么?
有空格好像用这个&。
如果连续两个变量的值都含有空格的话,就比较麻烦了
Gorgeous girl , I love !

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

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