如何使用R将所有包含"to"的变量变异?
df <- data.frame(
S=c("1′,@","2′2′abc","3:ae′","′4~@e′","55′","6:ae′"),
Q=c("AAA′E","BEAA′","CA′′B","D:DDF","EE@′A","FFSS")
)
S Q
1 1′,@ AAA′E
2 2′2′abc BEAA′
3 3:ae′ CA′′B
4 ′4~@e′ D:DDF
5 55′ EE@′A
6 6:ae′ FFSS
期望输出:
S Q
1 1',@ AAA'E
2 2'2'abc BEAA'
3 3:ae' CA''B
4 ′4~@e' D:DDF
5 55' EE@'A
6 6:ae' FFSS
以下是我try 过的:
library(tidyverse)
library(dplyr)
df %>%
mutate(
dplyr::across(
.cols = everything(),
.fns = ~ dplyr::if_else(stringr::str_detect(.x, "′"), "'", .x)
)
)
它返回
S Q
1 ' '
2 ' '
3 ' '
4 ' D:DDF
5 ' '
6 ' FFSS
有人能建议如何更改语法以使其工作吗?
如果将解决方案扩展到变异,这将非常有用
: to ^
@ in df$S to a
AA to aa
这将适用于我能想到的大多数情况.
提前感谢.