【问题标题】:comparing a vector with a scalar将向量与标量进行比较
【发布时间】:2021-12-29 21:56:30
【问题描述】:

我正在尝试编写一个函数,该函数将根据工作中定义的一些参数来比较两个矩阵或列表。 第一个函数检查 x 是否尊重不同的约束,第二个函数检查是答案,如果比第二个更好。 由于函数 is_sol_feasible 在我运行该函数时返回一个向量,因此我收到以下警告消息: 条件的长度 > 1,并且只使用第一个元素

所以我想知道你们中是否有人可以帮助我解决这个问题?提前谢谢!!!

'''
        is_sol_feasible <- function(x) {
          sat_c1(x) & sat_c2(x) & sat_c3(x) 
        }

        is_sol_x_better_than_y <- function(x,y) {
          sol_x_better = FALSE
          if (!is_sol_feasible(x)){
            sol_x_better = FALSE
          } else if (is_sol_feasible(x) & !is_sol_feasible(y)){
            sol_x_better = TRUE
'    # il s'agit de choisir la solution minimale'
          } else if (f(x) < f(y)) {
            sol_x_better = TRUE
          }
          sol_x_better
        }
'''

【问题讨论】:

    标签: r if-statement conditional-statements conditional-formatting stringr


    【解决方案1】:

    几个小时前,我正在研究如何使用 if 函数将标量与向量进行比较。经过多次反思后,我找到了在我的代码中使用“any”的解决方案。

    '''
            is_sol_x_better_than_y <- function(x,y) {
              sol_x_better = FALSE
              if (any(!is_sol_feasible(x))){
                sol_x_better = FALSE
              } else if (any(is_sol_feasible(x) & !is_sol_feasible(y))){
                sol_x_better = TRUE
     '   # il s'agit de choisir la solution minimale'
              } else if (f(x) < f(y)) {
                sol_x_better = TRUE
              }
              sol_x_better
            }
    '''
    

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多