楼主: timex1441
1509 8

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

  • 1关注
  • 0粉丝

数据挖掘工程师

已卖:1564份资源

博士生

37%

还不是VIP/贵宾

-

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

楼主
timex1441 发表于 2017-8-15 12:26:39 |AI写论文
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
这样就好
运行了,@只读取了一条记录

7
timex1441 发表于 2017-8-15 17:56:36
deem 发表于 2017-8-15 14:06
这样就好
运行了,@只读取了一条记录

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

9
l1i2n3i4n5g 在职认证  发表于 2017-8-16 09:02:58
timex1441 发表于 2017-8-15 17:56
我这里显示了11条记录,不太正常呀
80除以7=11

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

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