请选择 进入手机版 | 继续访问电脑版
楼主: timex1441
1162 8

[问答] 诡异!为什么使用@@后观测值变多了 [推广有奖]

  • 1关注
  • 0粉丝

数据挖掘工程师

博士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
459 个
通用积分
1.9295
学术水平
2 点
热心指数
3 点
信用等级
2 点
经验
2464 点
帖子
151
精华
1
在线时间
148 小时
注册时间
2007-5-8
最后登录
2021-9-1

timex1441 发表于 2017-8-15 12:26:39 |显示全部楼层 |坛友微信交流群
5论坛币
data b;
input code $6. sex $1. @@;
datalines;
980808M980801F
;
run;

数据集 WORK.B 有 11 个观测和 2 个变量

为什么有11条观测?

关键词:观测值 Lines Input Data line
认真学习人工智能与大数据
deem 学生认证  发表于 2017-8-15 14:06:22 |显示全部楼层 |坛友微信交流群
这样就好
  1. data b;
  2. input code $6. sex $1. @;
  3. datalines;
  4. 980808M980801F
  5. ;
  6. run;
  7. proc print data=b; run;
复制代码

使用道具

l1i2n3i4n5g 在职认证  发表于 2017-8-15 14:31:35 |显示全部楼层 |坛友微信交流群
SAS编辑器有个看不见的“80列”,具体是什么情况还没搞清楚。比如
  1. data test;
  2. input x $80.;
  3. cards;
  4. 双侧见,最大7.5*1.1mm。
  5. 双侧见,最大10.0*0.9mm。右侧50%。
  6. ;
  7. run;
复制代码

$79.显示2条记录,$80.就只显示1条记录

使用道具

Rock2000 发表于 2017-8-15 15:17:30 |显示全部楼层 |坛友微信交流群
若在input语句之后加@,则该行以及之后的数据保留到下一个input语句开始读入数据;
若在input语句之后加@@,则该行以及之后的数据保留到下一次data步循环。

使用道具

timex1441 发表于 2017-8-15 17:56:12 |显示全部楼层 |坛友微信交流群
l1i2n3i4n5g 发表于 2017-8-15 14:31
SAS编辑器有个看不见的“80列”,具体是什么情况还没搞清楚。比如

$79.显示2条记录,$80.就只显示1条记录 ...
我这里显示了11条记录,不太正常呀

使用道具

timex1441 发表于 2017-8-15 17:56:35 |显示全部楼层 |坛友微信交流群
deem 发表于 2017-8-15 14:06
这样就好
运行了,@只读取了一条记录

使用道具

timex1441 发表于 2017-8-15 17:56:36 |显示全部楼层 |坛友微信交流群
deem 发表于 2017-8-15 14:06
这样就好
运行了,@只读取了一条记录

使用道具

deem 学生认证  发表于 2017-8-15 19:23:24 |显示全部楼层 |坛友微信交流群
timex1441 发表于 2017-8-15 17:56
运行了,@只读取了一条记录
应该是@@,4楼说的有道理,sasl列宽默认80个字符,所以在没有数据后SAS保持了一直读取的状态。

使用道具

l1i2n3i4n5g 在职认证  发表于 2017-8-16 09:02:58 |显示全部楼层 |坛友微信交流群
timex1441 发表于 2017-8-15 17:56
我这里显示了11条记录,不太正常呀
80除以7=11

使用道具

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

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

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

GMT+8, 2024-3-29 01:29