我有一个名为“Productdes”的专栏,其中包含数千行产品描述,如:
Productdes
Varitas mágicas de Harry Potter
Figuras de Star Wars
Coleccionismo de Harry Potter
Espadas de Juego de Tronos
Bola de Dragon Z
Estatuas de The Witcher (El Brujo)
Figuras de Chucky El Muñeco Diabólico
Cascos de Star Wars
Espadas de The Legend of Zelda
Estatuas de Los Vengadores (The Avengers)
我想创建一个名为“Theme”的新列,该列为每一行提取该行中的某些单词,如下所示:
Theme
Harry Potter
Star Wars
Harry Potter
Juego de Tronos
Dragon Z
El Brujo
Chucky El Muñeco Diabólico
Star Wars
Zelda
Los Vengadores
我使用了以下功能但没有成功:
mutate(Theme = str_extract(Productdes,
c("Harry Potter",Star Wars","Juego de Tronos","Dragon Z",
"El Brujo","Chucky El Muñeco Diabólico","Zelda",
"Los Vengadores"))
我很感激任何帮助。 感谢
答案 0 :(得分:0)
我们可以paste
vector
个字符串来创建一个带有分隔符|
的单个字符,以用作str_extract
v1 <- c("Harry Potter","Star Wars","Juego de Tronos","Dragon Z",
"El Brujo","Chucky El Muñeco Diabólico","Zelda",
"Los Vengadores")
df1$Theme <- str_extract(df1$Productdes, paste(v1, collapse="|"))
df1$Theme
#[1] "Harry Potter" "Star Wars" "Harry Potter" "Juego de Tronos"
#[5] "Dragon Z" "El Brujo" "Chucky El Muñeco Diabólico" "Star Wars"
#[9] "Zelda" "Los Vengadores"