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

R语言中如何将数据框单列按空格拆分为14列?

在R中将空格分隔的单列拆分为多列

以下是几种实用方法,帮你把单列中用空格分隔的内容拆分为14列:

方法1:使用tidyr包的separate函数

这是tidyverse生态下的常用方案,代码简洁易读:

library(tidyr)
# 假设数据框名为df,目标单列名为data_col
# 拆分后列名自定义为col1到col14,\\s+匹配一个或多个连续空格
df_split <- separate(df, col = data_col, into = paste0("col", 1:14), sep = "\\s+")

若存在行元素数量不一致的情况,可添加参数处理:

  • fill = "right":右侧补NA填充不足的列
  • extra = "drop":丢弃超出14列的多余元素

方法2:使用data.table包的tstrsplit函数

适合处理大数据集,运行效率更高:

library(data.table)
setDT(df) # 将普通数据框转换为data.table格式
# 拆分原列并直接新增14列
df[, paste0("col", 1:14) := tstrsplit(data_col, "\\s+")]
# 可选:删除原有的单列
df[, data_col := NULL]

方法3:基础R原生方法(无需额外包)

如果不想加载第三方包,用基础R函数即可实现:

# 拆分每行字符串为列表格式
split_content <- strsplit(df$data_col, "\\s+")
# 将列表转换为数据框
df_split <- as.data.frame(do.call(rbind, split_content))
# 给新生成的列命名
colnames(df_split) <- paste0("col", 1:14)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:42:03