【问题标题】:Create a column that extracts specific words创建一个提取特定单词的列
【发布时间】:2017-02-06 10:14:12
【问题描述】:

我有一个名为“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
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")) 

如果有任何帮助,我将不胜感激。 谢谢

【问题讨论】:

  • 您需要将这些字符串与paste一起粘贴

标签: r dplyr


【解决方案1】:

我们可以pastevector 的字符串来创建一个带有分隔符| 的单曲,用作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" 

【讨论】:

    猜你喜欢
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多