【发布时间】:2020-02-12 11:31:47
【问题描述】:
我有一个如下所示的数据框
Test <- c('Sodium','Heamo Index.','Lipae Index','ictoric index','Chloride','Blood pressure','Test Index')
value <- c(12,'No haemo',NA,'No ict',21,32,NA)
TextualResults <- c('low value',NA,'NO LIPA',NA,'HIGH','low','NO TEST')
df_test <- data.frame(Test,value,TextualResults)
输入如下图所示
我正在尝试这样的事情
library(tidyverse)
df_test %>%
filter(stringr::str_detect(type, 'index|Index|INDEX'))
但不确定如何根据NA检查复制值并以优雅的方式使搜索不区分大小写
我希望我的输出如下所示
如您所见,在Test 列下,每当我们找到包含index(不区分大小写)的值时,我们必须确保这些行的value 列不是NA。
默认情况下,value 列下的 index 行可能具有值,但也可能是 NA。
因此,当它是 NA 时,我们会选择 TextualResults 列下存在的任何值,并将其放回 value 列中以获取包含 index 术语的行。对于包含index 术语的行,基本上value 列永远不会是NA
【问题讨论】: