R:mutate()和ifelse()现在保留列的原始值

e0bqpujr  于 2023-01-10  发布在  其他
关注(0)|答案(1)|浏览(127)

如果MAYBE列的值为1,我希望将MAYBE列的值赋给NO_HIT列,在其他情况下,我希望保留NO_HIT列的原始值。
我的原始表:

GCA_id          family               `NO HIT` MAYBE   HIT
<chr>           <chr>                   <dbl> <dbl> <dbl>
GCA_000091205.1 Cyanidiaceae                1    NA    NA
GCA_000341285.1 Cyanidiaceae               NA     1    NA
GCA_000350225.2 Gigartinaceae              NA     1    NA
GCA_000372725.1 Noelaerhabdaceae            1    NA    NA
GCA_002049455.2 Bangiaceae                  1    NA    NA
GCA_002049455.2 Bangiaceae                 NA     1     1
GCA_002205965.3 Solieriaceae               NA     1     1

但是当我尝试table %>% mutate(NO HIT= ifelse(MAYBE == 1, 1,NO HIT))时,它忽略了列NO_HIT的原始值,并且只分配MAYBE列的值,结果是:

GCA_id          family               `NO HIT` MAYBE   HIT
<chr>           <chr>                   <dbl> <dbl> <dbl>
GCA_000091205.1 Cyanidiaceae               NA    NA    NA
GCA_000341285.1 Cyanidiaceae                1     1    NA
GCA_000350225.2 Gigartinaceae               1     1    NA
GCA_000372725.1 Noelaerhabdaceae           NA    NA    NA
GCA_002049455.2 Bangiaceae                 NA    NA    NA
GCA_002049455.2 Bangiaceae                  1     1     1
GCA_002205965.3 Solieriaceae                1     1     1
bqucvtff

bqucvtff1#

根据评论中的回答,这是你要找的吗?

tib <- tibble::tribble(
                ~id,            ~family, ~no_hit, ~maybe, ~hit,
  "GCA_000091205.1",     "Cyanidiaceae",       1,     NA,   NA,
  "GCA_000341285.1",     "Cyanidiaceae",      NA,      1,   NA,
  "GCA_000350225.2",    "Gigartinaceae",      NA,      1,   NA,
  "GCA_000372725.1", "Noelaerhabdaceae",       1,     NA,   NA,
  "GCA_002049455.2",       "Bangiaceae",       1,     NA,   NA,
  "GCA_002049455.2",       "Bangiaceae",      NA,      1,    1,
  "GCA_002205965.3",     "Solieriaceae",      NA,      1,    1
  )

tib %>%
  mutate(no_hit = if_else(!is.na(maybe) & maybe == 1, maybe, no_hit))
#> # A tibble: 7 × 5
#>   id              family           no_hit maybe   hit
#>   <chr>           <chr>             <dbl> <dbl> <dbl>
#> 1 GCA_000091205.1 Cyanidiaceae          1    NA    NA
#> 2 GCA_000341285.1 Cyanidiaceae          1     1    NA
#> 3 GCA_000350225.2 Gigartinaceae         1     1    NA
#> 4 GCA_000372725.1 Noelaerhabdaceae      1    NA    NA
#> 5 GCA_002049455.2 Bangiaceae            1    NA    NA
#> 6 GCA_002049455.2 Bangiaceae            1     1     1
#> 7 GCA_002205965.3 Solieriaceae          1     1     1

# Created on 2023-01-09 with reprex v2.0.2

相关问题