【问题标题】:Replace "1" with "0" and "0" with "1" simultaneously in R [duplicate]在R中同时用“0”替换“1”和用“1”替换“0”[重复]
【发布时间】:2021-06-09 00:29:51
【问题描述】:

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

> row
"1/1" "0/0" "0/0" "1/1" "0/1" "0/0" "1/0" 

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

> row2
"0/0" "1/1" "1/1" "0/0" "1/0" "1/1" "0/1"

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

对基于 R 的解决方案有任何想法吗?谢谢!

【问题讨论】:

  • @GruelingPine185 我想你刚刚掉进了ScottB害怕的洞:在你第二次打电话后一切都为零:原来的零变成了,然后所有的(这将是一切)都变成了零.
  • 天哪。在我的脑海中,一切都解决了,但天哪,我没有明白这一点。感谢您引起我的注意:)

标签: r regex string replace gsub


【解决方案1】:

你可以使用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"

【讨论】:

  • “我几乎肯定忘记了它总是有一个基本的 R 函数”:) 相当于/受命令行 tr 我想的命令启发。
  • 完美,非常感谢!
猜你喜欢
  • 2020-11-03
  • 2014-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多