2017-10-24 13 views
1

を抽出します。は、私は、次のデータフレームDATを持っている最初の単語

brand (column name) 
Channel 
Gucci 
Channel 
LV 
LV 

以下のコードでサブを使用しようとしましたが、機能しません。私のコードが間違っているのを助けてください。

brand <- sub("(\\w+).*", "\\1", dat$brand) 
+2

'sub("。* $ "、"、dat $ brand) 'を使用して、最初のスペースに続くすべてを削除します。 – lmo

+0

'?stringi :: stri_extract_first_words' – hrbrmstr

答えて

2

これはそれを行う必要があります。

dat <- data.frame(Brand = c('Channel clothes', 
          'Gucci perfume', 
          'Channel shoes', 
          'LV purses', 
          'LV scarves')) 
brand <- sub('(^\\w+)\\s.+','\\1',dat$Brand) 
#[1] "Channel" "Gucci" "Channel" "LV"  "LV" 
0

私はtidyverseアプローチを推奨します。返し

df %>% 
    separate(brand, into = c("brand", "item"), sep = " ") 

::私たちは次のように列を分離することができます

library(tidyverse) 

df <- tribble(
    ~brand, 
    "Channel clothes", 
    "Gucci perfume", 
    "Channel shoes", 
    "LV purses", 
    "LV scarves" 
) 

:このデータセットでは

# A tibble: 5 x 2 
    brand item 
* <chr> <chr> 
1 Channel clothes 
2 Gucci perfume 
3 Channel shoes 
4  LV purses 
5  LV scarves 
1

は、我々は使用することができますwordstringr

から
library(stringr) 
word(df$brand, 1) 
#[1] "Channel" "Gucci" "Channel" "LV"  "LV"  
関連する問題