楼主: 8112mmw
1472 4

新人的问题,求解答,别见笑! [推广有奖]

  • 0关注
  • 3粉丝

已卖:596份资源

学术权威

54%

还不是VIP/贵宾

-

威望
0
论坛币
22306 个
通用积分
144.9823
学术水平
15 点
热心指数
23 点
信用等级
4 点
经验
221173 点
帖子
3349
精华
0
在线时间
2623 小时
注册时间
2014-10-27
最后登录
2025-12-31

楼主
8112mmw 发表于 2015-11-14 21:48:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位达人,新手一个,就教一个问题。

程序如下:


data nums;

    infile datalines dsddelimiter='ab';

    input X Y Z;

    datalines;

1aa2ab3

4b5bab6

7a8b9

;


有人解释为:上面指定a, b, aa, ab, ba, bb 作为分隔符,输出结果为:

                       OBS    X    Y    Z

                       1     1    .    2

                       2     4    5    .


                       3     7    8    9

问题来了,按照解释,第一行的数据,为什么不是读成“1  2  3”,“1aa2”中间的“aa”应该是分割符号吗?


谢谢各位达人了,新人的问题,别见笑!

二维码

扫码加我 拉你入群

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

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

关键词:求解答 delimiter delimit infile Lines 伊丽莎白 朋友 程序 传说 大卫

沙发
longgb246 学生认证  发表于 2015-11-14 22:05:20
指定a或b为分隔符。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
8112mmw + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
8112mmw 发表于 2015-11-15 10:03:08
longgb246 发表于 2015-11-14 22:05
指定a或b为分隔符。
那就好理解了,那原来的解释错了,他的解释是“ab”也可以是分隔符。谢谢了!

板凳
_appilepie_ 发表于 2015-11-17 19:08:49
我觉得大家好像理解还是有误。
运行如下程序:
data nums;
  infile datalines delimiter='ab';/*去掉了dsd选项*/
  input X Y Z;
  datalines;
1aa2ab3
4b5bab6
7a8b9
;
run;
proc print;
run;
返回结果为:
Obs    X    Y    Z
1     1    2    3
2     4    5    6
3     7    8    9
确实还是把a,b,aa,ab,ba和bb都作为分隔符了。

但是运行不去掉dsd的如下程序:
data nums;
  infile datalines dsd delimiter='ab';
  input X Y Z;
  datalines;
1aa2ab3
4b5bab6
7a8b9
;
run;
proc print;
run;
得到和楼主同样的结果如下:

  Obs X Y Z
1 1 . 2
2 4 5 .
3 7 8 9

我觉得原因是因为DSD有效时,在本程序中,认为把第二行数据4b5bab6中的bab认为是两个相邻的分隔符,认为前一个分隔符后的字段为缺失值,所以输出缺失值。

穷人认真回答问题发帖是为了挣论坛币~_~;申请奖励了。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
8112mmw + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

报纸
teqel 发表于 2015-11-18 01:06:37
用字符串作为分隔符,用DLMSTR=

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

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