gpt4 book ai didi

r - str_replace_all 按位置,应用于向量

转载 作者:行者123 更新时间:2023-12-04 11:53:23 26 4
gpt4 key购买 nike

我有一个数据框,其中每个条目都是一些字符串,用逗号分隔。我想要一种巧妙的方法来按位置替换每个元素。

这是数据的玩具版本

 library(tidyverse)

d1 <- tibble(
r1 = c("lab1",
"lab2,lab3",
NA,
"lab3,lab4"),
r2 = c(NA,
"lab1",
"lab2",
"lab2,lab3")
)

所以每 lab我想用相应的 rep 替换的元素元素。
d1 %>% 
modify_at(1:2,
~ str_replace_all(.,
c("lab1", "lab2", "lab3", "lab4"),
c("rep1", "rep2", "rep3", "rep4")))

退货
# A tibble: 4 x 2
r1 r2
<chr> <chr>
1 rep1 <NA>
2 rep2,lab3 lab1
3 <NA> lab2
4 lab3,rep4 lab2,lab3

所以我只对 r1 中的每个单元格进行了一次替换,而我需要将它们全部替换。

最佳答案

这应该工作

  d1 %>% 
modify_at(1:2,
~ stringr::str_replace_all(.,
c("lab1" = "rep1",
"lab2" = "rep2",
"lab3" = "rep3",
"lab4" = "rep4")))

要在字符串的每个元素中执行多次替换,请将命名向量 (c(pattern1 = replacement1)) 传递给 str_replace_all

关于r - str_replace_all 按位置,应用于向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46124371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com