Странный вывод из нескольких условий case_when - PullRequest
0 голосов
/ 19 декабря 2018

Я использую case_when, чтобы пройти через набор значений p.values ​​и наклонов, чтобы получить текст, описывающий вывод.Этот мысленный подход работал для меня в прошлом, но теперь я вижу некоторые текстовые выводы, которые совершенно неверны.В небольшом примере ниже вы можете видеть, что значения p.values ​​и уклоны в записях 1 и 3 должны соответствовать case_when ситуации 6 «есть убедительные доказательства тенденции к снижению».Скорее, они отображаются по умолчанию "анализ не был запущен".Мой первый инстинкт, что логика условных «веских доказательств» неверна, но если это так, я не вижу этого.

Любое понимание будет высоко ценится!

tb <- tibble(id = 1:6, 
             pvalue = c(2.82E-09, 0.157357748, 7.39E-10, 0.020180304, 0.563924231, 0.457426386), 
             slope = c(-2.083380271, -2.289794628, -0.593972568, 0.520946683, -0.38796253, -0.715571944)
             )

new_tb <- tb %>% 
  mutate(
    text = case_when(
      pvalue <= 0.01 & slope > 0 ~ ' there is strong evidence of an increasing trend ',
      pvalue > 0.01 & pvalue <= 0.05 & slope > 0 ~ ' there is evidence of an increasing trend ',
      pvalue > 0.05 & pvalue <= 0.10 & slope > 0 ~ ' there is evidence of a possible increasing trend ',
      pvalue > 0.10 & pvalue <= 0.20 & slope > 0 ~ ' there is weak evidence of an increasing trend ',
      pvalue > 0.2  ~ ' there is no evidence of a detectable trend ',
      pvalue <= 0.01 & pvalue < 0 ~ ' there is strong evidence of a decreasing trend ',
      pvalue > 0.01 & pvalue <= 0.05 & slope < 0 ~ ' there is evidence of a decreasing trend ',
      pvalue > 0.05 & pvalue <= 0.10 & slope < 0 ~ ' there is evidence of a possible decreasing trend ',
      pvalue > 0.10 & pvalue <= 0.20 & slope < 0 ~ ' there is weak evidence of a decreasing trend ', 
      TRUE ~ ' the analysis did not run '
    )
  )
...