R if else 条件判断为缺失如何处理-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 期刊>>

期刊库

>>

R if else 条件判断为缺失如何处理

R if else 条件判断为缺失如何处理

发布:梦孟小宝 | 分类:期刊库

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

我写了段函数用于推荐药物,data为数据集,包含var1,var2两个变量,其中var1为药物种类(最多有3种),var2为对应的治疗有效率。因为药物1最经济,所以在药物1的治疗有效率可接受时,总是优先推荐药物1。这段程序在 ...
扫码加入经济学习群


我写了段函数用于推荐药物,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=)
  1. recommend2 <- function(data, var1, var2) {
  2. #若药物1的治疗有效率大于0.9,则推荐药物1
  3. if (var2[var1==1]>0.9) {
  4. r <- 1
  5. } else if (
  6. #若药物1与药物2、药物3的治疗有效率差异不大(<20%),则推荐药物1
  7. max(abs(var2[var1==1]-var2[var1==2]/
  8. max(var2[var1==1],var2[var1==2])),
  9. abs(var2[var1==1]-var2[var1==2]/
  10. max(var2[var1==1],var2[var1==2]))) <0.2) {
  11. r <- 1
  12. } else if (
  13. #若药物1与药物2或药物3的治疗有效率差异大(>20%),则推荐治疗有效率高的药物
  14. any(c(abs(var2[var1==1]-var2[var1==2]/
  15. max(var2[var1==1],var2[var1==2])),
  16. abs(var2[var1==1]-var2[var1==2]/
  17. max(var2[var1==1],var2[var1==2]))) >0.2)) {
  18. r <- var1[which.max(var2)]
  19. }
  20. return(r)
  21. }
  22. a <- c(1,2,3)
  23. b <- c(0.6, 0.98, 0.95)
  24. df <- data.frame(a,b)
  25. c <- c(2,3)
  26. d <- c(0.86, 0.90)
  27. df2 <- data.frame(c,d)

  28. recommend(df,df$a,df$b) #当var1包含1、2、3时可以运行。df与a之间,df与b之间均有美元符号。
  29. recommend(df2, df$c, df$d) #当var1中没包含1时,无法运行。df与c之间,df与d之间均有美元符号。
复制代码
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-5279869-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
数据分析师 人大经济论坛 大学 专业 手机版
联系客服
值班时间:工作日(9:00--18:00)