r - 给定一个字符串列表,如何转换回数字列表?

标签 r string list type-conversion

我得到一个字符串,它是一个数字列表:

s <- "[14,7,5,3,4,0,1,7,2,3,1,18,13,4,23,7,8,8,11,18,15,6,2,10,2,4,8,5,11,5,1,5,2,4,3,1,6,8,5,5,3,1,1,4,5,2,9,3,4,11,11,14,3,12,2,6,0,0,15,1,18,5,3,6,6,6]"

请指导我如何将其转换回常规的 list 数字? 我试过使用 strsplit, as.data.frame 但它看起来很长。 我想要一些高效且有创意的东西。

最佳答案

1) JSON 问题中显示的输入是 JSON 格式,因此请使用 jsonlite 或 rjson 包,它将为您执行所需的字符串处理。

library(jsonlite)
fromJSON(s)

给予:

 [1] 14  7  5  3  4  0  1  7  2  3  1 18 13  4 23  7  8  8 11 18 15  6  2 10  2
[26]  4  8  5 11  5  1  5  2  4  3  1  6  8  5  5  3  1  1  4  5  2  9  3  4 11
[51] 11 14  3 12  2  6  0  0 15  1 18  5  3  6  6  6

2) strapply 如果您无论如何都想使用字符串处理,那么一个选项是strapply 提取所有数字序列"\\d+" 并转换为数字,给出与上面相同的输出。

library(gsubfn)
strapply(s, "\\d+", as.numeric, simplify = c)

3) 扫描或不带任何包或正则表达式:

scan(text = chartr("[]", "  ", s), sep = ",", quiet = TRUE)

关于r - 给定一个字符串列表,如何转换回数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49606200/

相关文章:

regex - R 中的计数模式匹配

string - Matlab字符到字符串的转换问题。使用什么功能?

c++ - 重载 < 运算符 C++

list - 如何在 F# 中将对象强制转换为泛型类型列表

python - Python 列表中的分层搜索

r - 元素作为列表名称,列表名称作为列表中的元素?

将 ÆØÅ 等特殊字符读入 R (Rstudio)

r - 从 RColorBrewer 调色板中选择单个颜色作为 ggplot2 中的 scale_colour_manual() 值

javascript - 图表js的多行标签

python - 从某些键缺少值的字典列表创建 Pandas Dataframe