美文网首页SAS编程
111:为什么--SEQ顺序不对?编程中可能出现的问题

111:为什么--SEQ顺序不对?编程中可能出现的问题

作者: SASPRO的打工人生活 | 来源:发表于2022-05-16 23:12 被阅读0次

1:为什么merge的时候,明明一个数据集是每人一条,然后另一个数据集是一人多条的时候,通过usubjid连接的时候,还是只有一个人只有一条记录。

也就是说我现在要将RFPENDTC merge 到其他数据集的时候,即使这个数据集是一人一条,但是最终输出的也只是一个人只有一个RFPENDTC的记录,而不是这个人的每条观测都有RFPENDTC.

就比如说

data dm;

set sdtm.dm;

RFXSTDTC=substr(RFXSTDTC, 1, 10);

keep USUBJID RFICDTC RFXSTDTC RFPENDTC ARMCD DTHDTC;

proc sort;by USUBJID;

run;

data temp1;

setdm;

SESTDTC=strip(RFICDTC);

if SESTDTC ne '';

ETCD='SCR';

proc sort;by usubjid;

run;

data temp2;

setdm;

    proc sort;by usubjid;

run;

data svall;

merge svall1temp1;

by usubjid;

.........

run;

此时svall这个数据集里面已经有USUBJID RFICDTC RFXSTDTC RFPENDTC ARMCD DTHDTC这几个变量了;

data cmall;

  mergesvalldm(keep=USUBJID RFPENDTC);

by usubjid;

run;

问题就出现在这里了,svall这个数据集里面已经有USUBJIDRFPENDTC,然后你DM数据集也有RFPENDTC,merge的时候就会出现上面讲到的问题,而不是这个人所有的观测都有RFPENDTC的值,为什么我也不知道。

所以我们可以通过下面这种方式解决这个问题,先删除主数据集的目标变量

data cmall;

  merge svall(drop=RFPENDTC) dm(keep=USUBJID RFPENDTC);

by usubjid;

run;

2:--SEQ顺序为什么跟其他人的不一样,比如说筛选期是1,治疗期1是2,治疗期2是3,治疗期3是4,但是我求出来的SEQ却是筛选期是1,治疗期1也是从1开始。

我看排序变量都一样啊,比如说都是STUDYID USUBJID SESTDTC TAETORD啊,为什么出来的SESEQ不一样呢?

3:NOTE: NOSPOOL is on. Rerunning with OPTION SPOOL might allow recovery of the LINE and COLUMN where the error has occurred.

我在SAS Community搜索这个问题,有一个人回答“I guess the problem lies in the macro variable &scen”,于是我回头看我的宏变量,发现没有写错啊,但是却发现了造成这个问题的原因。又是因为粗心导致多写了一个括号导致报这个log,真是无语,已经因为这个括号出现好几次错了。

相关文章

  • 111:为什么--SEQ顺序不对?编程中可能出现的问题

    1:为什么merge的时候,明明一个数据集是每人一条,然后另一个数据集是一人多条的时候,通过usubjid连接的时...

  • 设计模式 -- 命令模式

    场景 在饭店里吃饭经常会出现上餐错误的问题,比如上菜顺序不对或上菜上错桌的情况 问题来了这种情况在编程中就是常说的...

  • iOS 头文件导入顺序影响项目编译的问题

    如果包含顺序不当,可能出现包含顺序依赖问题,甚至引起编译错误。 推荐如下顺序: 在头文件中 在源文件中 额外说明如...

  • Seq2Seq Attention -- 循环神经网络

    1、Seq2Seq Attention 出现解决的问题 上文中写到了Seq2Seq 对应定长编码是信息瓶颈、前边...

  • Java synchronized关键字

    1. synchronized原理   在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一...

  • LeetCode之Custom Sort String(Kotl

    问题: 方法:通过LinkedHashMap存储字符出现次数,keys的顺序作为S中字符的顺序。遍历T中字符,统计...

  • 工作学习任务二企业注册

    1,汇通超市在注册过程中是否存在问题,为什么会出现这样的问题?请将分析结果写入下表。 分析,注册顺序错误,准备材料...

  • 并发编程始末

    说到并发编程可能是很多开发者的梦魇,那么今天我们就揭开并发编程神秘的面纱 为什么出现并发编程? 可能我们研究并发编...

  • 线程安全问题及解决的2种方式

    什么是线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,如:...

  • Pointer Networks

    很多时候使用seq2seq来解决序列生成问题,但seq2seq模型往往需要预先定义好输出集合的大小,即输出序列可能...

网友评论

    本文标题:111:为什么--SEQ顺序不对?编程中可能出现的问题

    本文链接:https://www.haomeiwen.com/subject/ltqgurtx.html