我的代码没有给我给予期望值
| 列A|红色|绿色|蓝色|
| --|--|--|--|
| rgb(111,222,334)| 111 | 222 | 334 |
| RGB(11,22,3)| 11 | 22 | 3 |
A列分为3个新列
(df_data <- df3|>
separate_wider_regex(
cols = Column A,
patterns = c(red = "rgb\\((\\d+),\\s*\\d+,\\s*\\d+\\)",
green = "rgb\\(\\d+,\\s*(\\d+),\\s*\\d+\\)",
blue = "rgb\\(\\d+,\\s*\\d+,\\s*(\\d+)\\)")
字符串
数据类型:
df_data <- data.frame(ColumnA = c("rgb(111,222,334)", "rgb(11,22,3)"))
型
5条答案
按热度按时间u7up0aaq1#
separate_wider_regex()
的patterns
vector应该形成匹配,但它可以包括命名和未命名的项目,只有命名的模式将在列中结束:字符串
创建于2023-11-07附带reprex v2.0.2
7kqas0il2#
也许比使用正则表达式更简单的方法是首先使用
dplyr::mutate
删除rgb(
和)
,然后使用tidyr::separate_wider_delim
:字符串
ldxq2e6h3#
这里是一个基本的R解决方案,
strsplit
。字符串
创建于2023-11-07附带reprex v2.0.2
s3fp2yjn4#
一些替代的base-R方法:
utugiqy65#
另一种管基R方法
字符串
使用
|> { \(x) ... }()
。创建日期:2023年11月7日,使用reprex v2.0.2