我的代码没有给出预期值

Column A Red Green Blue
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)"))

推荐答案

这是一个strsplit的基本R解决方案.

df_data <- data.frame(ColumnA = c("rgb(111,222,334)", "rgb(11,22,3)"))

strsplit(df_data$ColumnA, "[[:alpha:]]+|\\(|\\)|,") |>
  lapply(\(x) {
    ok <- (x |> trimws() |> nchar()) > 0L
    x[ok] |> as.numeric()
  }) |>
  do.call(rbind.data.frame, args = _) |>
  setNames(c("Red", "Green", "Blue"))
#>   Red Green Blue
#> 1 111   222  334
#> 2  11    22    3

创建于2023-11-07年第reprex v2.0.2

R相关问答推荐

如何创建具有总计列和ggplot 2所有条线的百分比标签的堆叠条形图?

以R表示的gglikert地块调整总数

按块将载体转换为矩阵-reshape

如何根据包含相同值的某些列获取总额

在位置周围设定一个半径并识别该半径内的其他位置

如何编辑ggplot的图例字使用自定义对象(gtable)?'

当两个图层映射到相同的美学时,隐藏一个图层的图例值

在R中为马赛克图中的每个字段着色

在另存为PNG之前隐藏htmlwidget绘图元素

如果可能,将数字列转换为整数,否则保留为数字

R中的时间序列(Ts)函数计数不正确

如何通过ggplot2添加短轴和删除长轴?

如何删除最后一个可操作对象

线性模型斜率在减少原始数据时提供NA

给定开始日期和月份(数字),如何根据R中的开始日期和月数创建日期列

如何对r中包含特定(未知)文本的行求和?

Geom_arcbar()中出错:找不到函数";geom_arcbar";

为什么这个表格格罗布不打印?

如何将这个小列表转换为数据帧?

ggplot斜体轴刻度标签中的单个字符-以前的帖子建议不工作