首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tidytext R-查找和替换

Tidytext R-查找和替换
EN

Stack Overflow用户
提问于 2021-12-17 17:52:12
回答 2查看 89关注 0票数 0

我有一项调查的结果,其中一组分析器有错误,例如拼写错误,UppercAseS/小写,.

因此,我需要类似于查找和替换之类的解决方案(我已经找到了一些可能的功能,但它们似乎都不起作用。我有点像no0b)

...but不是一个一个地寻找和替换,而是创建一个向量(?)用正确的答案代替“错误”,整理我的课文,以便以后能看到结果。

我试过这个

将VAR1看作是芒类型:

代码语言:javascript
复制
VAR1 <- c("motorbyke","motor bike","Mbike","Motor   B","Motor","Bike")

我想把拼错的喷泉改成正确的,比如说“摩托车”.

代码语言:javascript
复制
DB %>% 
mutate(VAR1 = replace(VAR1, VAR1 == "misspelling", "correct answer")) 

但是单独做这件事有太多错误.

有什么解决办法吗?

谢谢

编辑:尝试添加一个示例

EN

回答 2

Stack Overflow用户

发布于 2021-12-17 18:31:42

下面是使用tidyverse和left_join的一个可能的解决方案:

代码语言:javascript
复制
DB <- data.frame(
  VAR1=c(c("motorbyke","motor bike","Mbike","Motor   B","Motor","Bike"), 
         sample(stringr::words, 10)))

correction_df <- data.frame(
  cbind(correction="motorbike", incorrect=c("motorbyke","motor bike","Mbike","Motor   B","Motor","Bike"))
)

DB %>%
  left_join(correction_df, by=c(VAR1="incorrect")) %>%
  mutate(VAR1=ifelse(is.na(correction), VAR1, correction)) %>%
  select(-correction)

新条目可以通过提供的语法添加到correction_df中。或者,fuzzyjoin package会做一些非常类似的事情,并且可能会自动化您感兴趣的一些更正。

票数 0
EN

Stack Overflow用户

发布于 2021-12-17 18:36:38

您可以为向量的str_replace创建一个模式,然后用motorbike (列或向量等)替换所有这些。

代码语言:javascript
复制
VAR1 <- c("motorbyke","motor bike","Mbike","Motor   B","Motor","Bike")

my_pattern <- paste(VAR1, collapse = "|")


library(stringr)
str_replace(VAR1, my_pattern, 'motorbike')

产出:

代码语言:javascript
复制
[1] "motorbike" "motorbike" "motorbike" "motorbike" "motorbike" "motorbike"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70397042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档