首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于文本模式的r-拆分列

基于文本模式的r-拆分列
EN

Stack Overflow用户
提问于 2022-07-01 18:37:17
回答 1查看 41关注 0票数 0

我想在R中分割一个列,描述服装产品的尺寸、颜色和客户。

该列如下所示

尺码:AS-成人小,颜色:黑色,按: Elmwood尺码:YS-青年小,颜色:黑色,按:迷迭香棕色PS颜色-黑色,按:罗斯玛丽布朗PS出售

所以,有些列有大小,有些以颜色开头。

我需要做三列-- 1.尺寸2.颜色3.按大小出售--我只需要两个字母大小的代码,颜色--需要颜色描述:我需要解析它,直到它找到任何‘逗号’

谢谢你的帮忙

EN

回答 1

Stack Overflow用户

发布于 2022-07-01 23:43:10

对于您给出的具体示例来说,这应该是很有意义的:

代码语言:javascript
复制
library(tidyverse)

df <- tribble(
  ~col1, 
  'Size: AS - Adult Small, Colours: Black , Sold By: Elmwood , Some Other Column: Other Data ',   
  'Size:YS - Youth Small, Colours: Black, Sold By: Rosemary Brown, Some Other Column: Other Data ',   
  'Colours: Black, Sold By: Rosemary Brown, Some Other Column: Other Data '
) %>% 
  mutate(
    size = str_trim(str_extract(col1, "(?<=Size:)[^,]*(?= -)")),
    colours = str_trim(str_extract(col1, "(?<=Colours:)[^,]*(?=,)")),
    sold_by = str_trim(str_extract(col1, "(?<=Sold By:)[^,]*(?=,)"))
  ) %>% 
  select(-col1)

产出:

代码语言:javascript
复制
# A tibble: 3 × 3
  size  colours sold_by       
  <chr> <chr>   <chr>         
1 AS    Black   Elmwood       
2 YS    Black   Rosemary Brown
3 NA    Black   Rosemary Brown
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72833410

复制
相关文章

相似问题

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