如何反转TRUE/FALSE向量?

use*_*363 20 r

我有一个像这样的矢量:

> good.genes
    A     B     C     D     E 
FALSE FALSE FALSE  TRUE FALSE 
Run Code Online (Sandbox Code Playgroud)

我想让它反过来,这将是:

    A     B     C     D     E 
 TRUE  TRUE  TRUE FALSE  TRUE 
Run Code Online (Sandbox Code Playgroud)

有人会帮我在R中进行这种转换吗?

mer*_*011 34

只需添加!运算符.正如Richard Scriven指出的那样,这种行为被称为否定.

!good.genes
    A     B     C     D     E 
    TRUE TRUE TRUE  FALSE  TRUE
Run Code Online (Sandbox Code Playgroud)

  • 使用管道 (%>%) 您还可以使用 `isFALSE()` 函数:例如 `TRUE %>% isFALSE()` ,这将反转逻辑值 (5认同)
  • 快速注释 - 这也将反转1和0的向量.如果你有这样的向量,`x`,`as.numeric(!x)`将用0替换所有1,反之亦然. (4认同)
  • 如果您使用正向管道 (%>%) 并且想要对逻辑向量取反,请记住运算符也是一个函数。在其周围使用`反引号`。像这样: object %>% <some code> %>% ` ! ` (2认同)