用 mutate 替换部分字符串(在管道中)

标签 r dplyr tidyverse stringr

我想替换字符串的一部分(在前 2 个下划线之间,第一组始终为“i”),如下面的基本 R 示例所示:

library(dplyr)
library(stringr)

d <- tibble(txt = c("i_0000_GES", "i_0000_OISO", "i_0000_ASE1333"),
            repl = c("1111", "1111", "2222"))

str_sub(d$txt, 3, 6) <- d$repl
d

# A tibble: 3 x 2
# txt            repl 
# <chr>          <chr>
# 1 i_1111_GES     1111 
# 2 i_1111_OISO    1111 
# 3 i_2222_ASE1333 2222  

我该如何使用 str_sub<- 做到这一点?或另一个字符串函数?

最佳答案

这是使用 str_sub<- 的一种方法在一个管道中。

d %>%
  mutate(txt = `str_sub<-`(txt, 3, 6, value = repl))
## A tibble: 3 x 2
#  txt            repl 
#  <chr>          <chr>
#1 i_1111_GES     1111 
#2 i_1111_OISO    1111 
#3 i_2222_ASE1333 2222 

请注意参数 value是最后一个,所以它必须传递给它的名字。

关于用 mutate 替换部分字符串(在管道中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58113748/

相关文章:

r - 居中迎合 table

r - 在 dplyr 中添加新的分组变量

R 减去基于类别的值和日期 tidyverse-way

r - 使用 lm 在列表列中使用 purrr 预测新值

使用跨替换 group_by_at(NULL)

r - 在 R 中分组生态数据

html - 选择 Shiny 的输入样式

( 和 = 之间的 R str_match 正则表达式

r - 给定类型 min_date 和 max_date 的聚合 ID 随时间变化

r - 如何使用 R/exams 在 Moodle 问题中包含外部文件?