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

如何在R中将含空格的数字字符串转换为可用数字格式?

在R中处理带空格和换行的数字字符串

不需要给每个两位数加引号,用以下几种更直接的方法就能将字符串转换为可用的数值格式:

方法1:用strsplit拆分后转数值

先拆分所有空白字符(包括空格和换行),再转换为数值向量:

gridinput <- "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00"

# 拆分所有空白字符
num_chars <- strsplit(gridinput, "\\s+")[[1]]
# 转换为数值向量
num_vector <- as.numeric(num_chars)

# 查看结果
num_vector

方法2:直接用scan读取字符串中的数字

scan可以直接解析文本中的数字,自动忽略空格和换行:

num_vector <- scan(text = gridinput)
num_vector

方法3:转换为矩阵(适合表格型数据)

如果你的原始数据是多行多列的表格(比如示例中是2行20列),可以用read.table直接转为数据框,再转矩阵:

grid_df <- read.table(text = gridinput)
grid_matrix <- as.matrix(grid_df)

# 查看矩阵结果
grid_matrix

补充:如果一定要给两位数加引号(不推荐)

如果坚持按你最初的思路给每个两位数加引号,也可以用正则表达式替换,再拆分转换:

# 给每个两位数添加单引号
grid_quoted <- gsub("(\\d{2})", "'\\1'", gridinput)
# 拆分后转数值
num_vector <- as.numeric(strsplit(grid_quoted, "\\s+")[[1]])

但这种方法属于绕路,前面三种方法更高效简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:06:33