美文网首页工作小技巧
267:工作中解决问题的一些思路和实现方法

267:工作中解决问题的一些思路和实现方法

作者: SASPRO的打工人生活 | 来源:发表于2023-09-08 16:25 被阅读0次

一:

最近在处理DA-EX-EC之间的联系,因为要计算用药依从性。

假设分3个阶段用药,第一个阶段持续7天,每天吃1片;第二个阶段也是持续7天,每天吃药2片;第三个阶段持续10天,每天3片。

如果受试者依从性很好,每天都按时按需服药,那对于我们编程来说很友好,但是我们知道这几乎不可能,很可能受试者第一阶段就吃6天,少吃了,第二阶段又吃了8天,多吃了。总之就是在不同阶段都有“叛逆性”。

在计算依从性的时候,一开始的要求是6天按1片算,第二阶段也要拿出一天纳入第一阶段,但是片数是按2片算大家可以看下数据集。如果最后的研究天数超过规定的研究天数,超过的部分不纳入计算。

如果按照规定的天数服药,标准的EXSTDY和EXENDY分别是:

VISIT="Phase I";EXSTDY=1;EXENDY=7;

VISIT="Phase II";EXSTDY=8;EXENDY=14;

VISIT="Phase III";EXSTDY=15;EXENDY=24;

所以如果出现图中那样不“标准”的研究天数怎么处理呢?第一想法就是新建3个变量(或者6个变量),比如EXSTDY_1=1;EXENDY_1=7;EXSTDY_2=8;EXENDY_2=14.....但是这样肯定要写很多if else,而且只是看起来可行,实际操作过程肯定会有很多问题。

所以想到的一个解决方法就是output;按照研究天数加上do循环输出所有的观测。

然后根据新生成的i来判断这条观测所属的VISIT。3个不同颜色的框代表根据规则衍生出新的访视,可以发现是可行的,比如第7条它的EXDOSE是2,然后所属VISIT是"Phase I",生成正确的访视之后,我们只需要对每个访视分别求和就可以求出每个访视对应的依从性了。

二:

第二个问题还是跟do循环有关,也就是根据访视窗的上限和下限衍生出对应的访视,一般SAP会规定对应的访视窗上下限值,很多人可能会写很多个if else ,这样程序可能会有点不美观,对于这种有规律的值,我们只要找出相关的规律,之后用do循环就可以解决了。

我们发现上下限都是按照90递增,找到了规律,接下来就是实现了:

就这一段简单的程序,就能实现上面if else的效果。

三:判断宏变量是不是存在,存在之后再继续进行相关处理。

关于宏变量存不存在,以前的文章写过一次

172:如何判断宏变量是否存在(二)--%symexist

这次是在处理逻辑回归的时候,先进行单因素分析,之后对单因素分析中显著的自变量再纳入多因素分析,那这时候我们肯定要先判断有哪些自变量显著。处理逻辑就是把显著的自变量处理成宏变量,再导入到多因素回归分析中。

单因素分析后,我们可以筛选出显著的自变量:

proc sql;

select Variable into :mulvar separated by " " from logis(where=(ProbChiSq<0.05));

quit;

/*%put &mulvar;*/

但是有可能所有自变量都不显著,这时候如果我们直接导入到多因素回归分析中,会报错,所以我们得先判断下这个宏变量是否存在,不存在的话再采用另一种解决方式:

%macro exist();

    %if %symexist (mulvar) %then %do;

         proc logistic data=XXXX;

model 因变量=&mulvar/SELECTION=STEPWISE ;

         run;

    %end;

    %else %do;

/*create empty datasets*/

%end

%mend;

相关文章

  • 什么是知识?

    学习之后,你解决问题的思路和方法是否有效的重要标准是:学习之后,你解决问题的思路和方法是否得到了改变。知乎上的文章...

  • 编程开发| 解决问题的思路

    ## 前沿 经常感觉到自己解决问题速度好像比部分人快一些,不要脸的来总结一下自己解决问题的思路和方法,排名不分先后...

  • 自定义ViewGrop实现流式布局

    参考了网上一些大神的思路和demo,自己也对onMeasure和onLayout方法的学习和总结,也自己实现了一个...

  • 无痕埋点实践

    参考了一些实现方案,自己选择了一种适合自己项目的,这里我将进行总结。 主体思路 主要思路就是要通过方法交换实现。 ...

  • 《麦肯锡方法》教你高效解决复杂问题

    文|遇见君 废话少说,直接先看重点,麦肯锡咨询工作中最核心的三个方法: ①解决问题的第一步,与事实为友; ②让思路...

  • UIButton的分类(CLTouch防止连续点击事件)

    思路:利用runtime实现方法交换(method_exchangeImplementations)和利用runt...

  • UIViewController的分类(BackButtonHa

    思路及效果: 利用runtime实现方法交换(method_exchangeImplementations)和利用...

  • 解决问题的方法和思路更重要

    好多开发者,尤其是工作没有多久的新手,比较喜欢关注细节的东西。 我做移动开发好多年了,有一个感觉就是,技术没有秘密...

  • 面向对象基础(核心)

    面向过程:面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个...

  • 在职场中如何让自己变得优秀?

    我想先说一下:这篇文章可以为你提供一些思路和方法,除了学习这些方法以外,还需要我们自己在实际工作中努力实践、根据自...

网友评论

    本文标题:267:工作中解决问题的一些思路和实现方法

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