全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4918 3
2017-02-15
悬赏 50 个论坛币 未解决
我写了段函数用于推荐药物,data为数据集,包含var1,var2两个变量,其中var1为药物种类(最多有3种),var2为对应的治疗有效率。因为药物1最经济,所以在药物1的治疗有效率可接受时,总是优先推荐药物1。这段程序在数据包含所有三种药物(即var1包含1、2、3)时可以运行。

但是有时数据只有两种或者一种药物的记录,这时候if else的条件判定就是缺失值,而非TRUE/FALSE,程序就运行不了。我想请教要如何处理这种情况?难道每次都要先判断var1是否包含1,var1是否包含2……?那样感觉条件套条件套条件,语句好复杂,我自己都会理不清。有没有高手能给点建议

我的另一悬赏提问,关于R自编函数中如何设置参数,也希望大家能多指导,谢谢!(https://bbs.pinggu.org/forum.php?mod=viewthread&tid=5279912&page=1&extra=)
复制代码
二维码

扫码加我 拉你入群

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

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

全部回复
2017-2-15 17:48:57
if else问题的相关代码是?
二维码

扫码加我 拉你入群

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

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

2017-2-15 18:39:53
我想知道你的df是不是总是小于等于3行(我是从你判断的函数觉得你每种药最多是一行的,否则var2[var1==1]>0.9这样会出现很多T或F),如果是,我建议你不要用var2[var1==1]这样的索引方式,而是按照药物编号排序后,if有3种药要怎样,有2种药要怎样,这样逻辑会清晰一点
二维码

扫码加我 拉你入群

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

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

2017-2-15 21:59:02
A few things to clarify:

If the cure rate of drug 1 is greater than 0.9 then there will not be any drug that is 20% better, will it (meaning the drug has a cure rate greater than 1.25 according to your code)?

Drug 2 will be recommended if and only if the cure rate of drug 2 is at least 20% better than drug 1 and is better then drug 3? The same is for drug 3?

Is there an error on lines 9-10 and 16-17? Impossible to recommend drug 3?
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群