我想在R中分割一个列,描述服装产品的尺寸、颜色和客户。
该列如下所示
尺码:AS-成人小,颜色:黑色,按: Elmwood尺码:YS-青年小,颜色:黑色,按:迷迭香棕色PS颜色-黑色,按:罗斯玛丽布朗PS出售
所以,有些列有大小,有些以颜色开头。
我需要做三列-- 1.尺寸2.颜色3.按大小出售--我只需要两个字母大小的代码,颜色--需要颜色描述:我需要解析它,直到它找到任何‘逗号’
谢谢你的帮忙
发布于 2022-07-01 23:43:10
对于您给出的具体示例来说,这应该是很有意义的:
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)产出:
# A tibble: 3 × 3
size colours sold_by
<chr> <chr> <chr>
1 AS Black Elmwood
2 YS Black Rosemary Brown
3 NA Black Rosemary Brownhttps://stackoverflow.com/questions/72833410
复制相似问题