在 R 中同时将“1”替换为“0”和“0”替换为“1”

Sco*_* B. 2 regex string replace r gsub

我在 R 中有一个字符向量,例如:

> row
"1/1" "0/0" "0/0" "1/1" "0/1" "0/0" "1/0" 
Run Code Online (Sandbox Code Playgroud)

我想交换“1”和“0”字符以返回一个向量:

> row2
"0/0" "1/1" "1/1" "0/0" "1/0" "1/1" "0/1"
Run Code Online (Sandbox Code Playgroud)

我觉得这是一项简单的任务,但我感到困惑,因为我假设多次调用gsub例如会在第二次调用时逆转转换过程。

关于基于 R 的解决方案的任何想法?谢谢!

Ron*_*hah 6

您可以使用chartr

row <- c("1/1", "0/0", "0/0", "1/1", "0/1", "0/0", "1/0" )
chartr('01', '10', row)
#[1] "0/0" "1/1" "1/1" "0/0" "1/0" "1/1" "0/1"
Run Code Online (Sandbox Code Playgroud)

  • “总有一个基本的 R 函数,我几乎肯定忘记了”:) 我认为相当于/受命令行 `tr` 命令的启发。 (2认同)