gpt4 book ai didi

r - 文本替换——模式是一组字符串[r]

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

我在大型数据集中有一个字符串变量,我想根据一组字符串列表对其进行清理。前任。 pattern <- c("dog","cat") 但我的列表大约有 400 个元素。

vector_to_clean == a

black Dog
white dOG
doggie
black CAT
thatdamcat

然后我想应用一个函数来产生

dog
dog
dog
cat
cat

我尝试过 str_extract、grep、grepl 等。因为我一次可以根据一个字符串选择一种模式。我想我想要的是将 dapply 与这些文本清理功能之一一起使用。不幸的是,我被困住了。下面是我最近的尝试。感谢您的帮助!

new <- vector()

lapply(pattern, function(x){
where<- grep(x,a,value = FALSE, ignore.case = TRUE)
new[where]<-x
})

最佳答案

我们将“pattern”向量粘贴在一起以创建一个字符串,在将其更改为小写后使用它从“vec1”中提取单词 (tolower(vec1))。

library(stringr)
str_extract(tolower(vec1), paste(pattern, collapse='|'))
#[1] "dog" "dog" "dog" "cat" "cat"

数据

pattern <- c("dog","cat") 
vec1 <- c('black Dog', 'white dOG', 'doggie','black CAT', 'thatdamcat')

关于r - 文本替换——模式是一组字符串[r],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33312641/

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