gpt4 book ai didi

r - 更改 R 中过滤后的 data.frame 中一列中的所有值

转载 作者:行者123 更新时间:2023-12-04 14:08:31 26 4
gpt4 key购买 nike

我有一个非常困惑的数据框,其中一列包含人类可以理解但计算机无法理解的值,有点像下面的那个。

df<-data.frame("id"=c(1:10), 
"colour"=c("re d", ", red", "re-d","green", "gre, en", ", gre-en", "blu e", "green", ", blue", "bl ue"))

我可以用 str_detect 过滤 df
df %>% filter(str_detect(tolower(colour), pattern = "gr")) 

但我想将所有过滤结果重命名为相同的值,以便我可以解决它。
有什么建议?
我试图用模式分离,但没有成功。

编辑:不是全部。我正在使用的 df 中不需要空格。让我们说在组成的 df 中写绿色的正确方法是“gr. een”。

编辑2:
想要的结果与伪造的颜色拼写只是为了得到一个想法:
id     colour
1 r. ed
2 r. ed
3 r. ed
4 gr. een
6 gr. een
7 gr. een
8 blu. e
9 gr. een
10 blu. e

最佳答案

您可以使用 mgsub用多个模式替换多个单词:

df<-data.frame("id"=c(1:10), 
"colour"=c("re d", ", red", "re-d","green", "gre, en",
", gre-en", "blu e", "green", ", blue", "bl ue"))

library(textclean)

df$colour = mgsub(df$colour,
pattern = c(".*gr.*", ".*re.*", ".*bl.*"),
replacement = c("gr. een", "r. ed", "blu. e"), fixed = F)

df

# id colour
# 1 1 r. ed
# 2 2 r. ed
# 3 3 r. ed
# 4 4 gr. een
# 5 5 gr. een
# 6 6 gr. een
# 7 7 blu. e
# 8 8 gr. een
# 9 9 blu. e
# 10 10 blu. e

关于r - 更改 R 中过滤后的 data.frame 中一列中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883769/

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