You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在R语言中提取子字符串并构建指定格式数据表的方法

在R语言中实现需求的步骤

我来一步步帮你搞定这个需求,其实用R处理起来挺顺畅的,咱们一步步来:

1. 准备工作:处理字符串并解析JSON

你给的字符串是几个独立的JSON对象,直接解析会出错,所以首先得把它变成合法的JSON数组(给首尾加上[]),然后用jsonlite包来解析——这个包处理JSON数据特别顺手。如果还没装这个包,先安装加载它:

# 检查并安装jsonlite包
if (!require(jsonlite)) {
  install.packages("jsonlite")
  library(jsonlite)
}

2. 解析数据并提取所需内容

接下来把你的原始字符串处理成合法JSON,然后解析成数据框,再提取idvalue

# 你的原始字符串
raw_str <- '{"id":"35","value":"0.2"},{"id":"1462","value":"0.2"}, {"id":"1109","value":"0.2"},{"id":"220","value":"0.2"}, {"id":"211","value":"0.1"}'

# 转换成合法的JSON数组格式
json_str <- paste0("[", raw_str, "]")

# 解析JSON为数据框
data_df <- fromJSON(json_str)

# 提取id作为表头,value作为内容行
header_ids <- data_df$id
value_content <- data_df$value

3. 生成分隔线并按要求格式输出

最后生成对应长度的分隔线,然后用cat函数按照你要的格式打印出来:

# 生成匹配表头长度的分隔线
separator_line <- paste(rep("-", length(header_ids)*2), collapse = "")

# 按指定格式输出
cat(paste(header_ids, collapse = " "), "\n")
cat(separator_line, "\n")
cat(paste(value_content, collapse = " "), "\n")

运行这段代码后,你就能得到和你要求完全一致的输出:

35 1462 1109 220 211 
---------------------- 
0.2 0.2 0.2 0.2 0.1 

如果你的原始字符串有其他变化(比如更多的对象),这段代码也能自动适配,不用手动修改~

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

火山引擎 最新活动