You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将R数据框中字符串格式的数值数组规整为长表格式

R语言数据框嵌套字符串数组拆分行实现方案

以下提供两种常用实现方式:

方法1:tidyverse生态实现(最常用)

适合习惯使用tidyverse工具链的场景,代码可读性高:

# 加载依赖包
library(tidyverse)

# 构造原始数据
df <- data.frame(a  = c(1,2), values = c("[1.1, 1.2, 1.3]", "[2.1, 2.2]"))

# 执行转换
df_result <- df %>%
  # 移除values列的左右中括号
  mutate(values = str_remove_all(values, "\\[|\\]")) %>%
  # 按逗号+空格拆分字符串为列表格式
  mutate(values = str_split(values, ", ")) %>%
  # 将列表列展开为多行
  unnest_longer(values) %>%
  # 将values列转换为数值类型
  mutate(values = as.numeric(values))

方法2:Base R实现(无需额外安装包)

适合不想加载第三方包的轻量场景:

# 构造原始数据
df <- data.frame(a  = c(1,2), values = c("[1.1, 1.2, 1.3]", "[2.1, 2.2]"))

# 处理values列:先移除括号,再按分隔符拆分
value_list <- strsplit(gsub("\\[|\\]", "", df$values), ", ")
# 按每个分组的元素个数重复a列的值
a_col <- rep(df$a, sapply(value_list, length))
# 展开拆分后的数值列表并转为数值类型
value_col <- as.numeric(unlist(value_list))
# 合并为结果数据框
df_result <- data.frame(a = a_col, values = value_col)

内容的提问来源于stack exchange,提问作者Sasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:36:03