首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助编写以下示例的逻辑语句

需要帮助编写以下示例的逻辑语句
EN

Stack Overflow用户
提问于 2018-02-22 15:29:22
回答 1查看 45关注 0票数 0

我希望尽可能高效地编写以下场景的逻辑代码。

我有4个变量,它们是序数变量,有5类,从0到4。

  1. 卫生困难(更改名称: H2I)
  2. 厕所的困难(变名: H2H)
  3. 难以理解(更改名称: H2C)
  4. 难以进食(变名: H2G)

本质上,如果任何选项不丢失,我希望在困难函数中使用那里的值,对于缺少的选项,我希望困难函数参数为0.我在努力写这段代码

值得注意的是,没有实际数据。我所使用的价值观是调查结果,因此它们一次只出现一次。

总体难度等级函数如下:

代码语言:javascript
复制
diff.fun<-function(H2I,H2H,H2C,H2G) {

  ifelse(H2I == 4 & H2H == 4 & H2C == 4 & H2G == 4 ,6,
     ifelse(H2G == 4 | H2C == 4 ,5,
            ifelse (H2C == 3 | H2G == 3 ,4,
                    ifelse((H2I>=3 | H2H>=3) & H2C<3 & H2C<3,3,
                           ifelse((H2I==2 | H2H==2 | H2C==2 | H2G==2) & (H2I<3 & H2H<3 & H2C<3 & H2G<3),2,
                                  ifelse ((H2I==1 | H2H==1  | H2C==1 | H2G==1 ) & (H2I<2 & H2H<2 & H2C<2 & H2G<2),1, 
                                          ifelse(H2I == 0 & H2H == 0 & H2C ==0 & H2G  == 0,0,NA)))))))
}

任何帮助都是非常感谢的。我对R相当陌生,我在这里的逻辑上有点挣扎。如有需要,我乐意提供更多详情。

编辑:

例如,

如果H2I和H2H没有丢失,而H2C和H2G失踪了,我该如何告诉diff.fun:

diff.fun(H2I,H2H,0,0)。

基本上,函数之前的代码必须确定哪些困难成分是不丢失的,并将这些值提供给函数,而丢失的部分必须为零。

EN

回答 1

Stack Overflow用户

发布于 2018-02-22 15:38:22

如果我正确理解了您的问题,您可以在定义函数时为缺少的参数设置默认值:

代码语言:javascript
复制
diff.fun<-function(H2I = 0,H2H = 0,H2C = 0,H2G = 0){...}

现在,当没有为一个或多个参数提供值时,它是0作为默认值,例如:

代码语言:javascript
复制
diff.fun(H2I = 1, H2H = 2, H2G = 3)

假定H2C为0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48931188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档