我想将字符变量转换为列表列表。我的角色如下所示:
"[["a",2],["b",5]]"
预期列表应包含两个列表,其中包含字符和每个
的编号答案 0 :(得分:1)
这是通过基础R的一种可能性,
xx <- '[[a, 2], [b, 5]]'
lapply(split(matrix(gsub('[[:punct:]]', '', unlist(strsplit(xx, ','))),
nrow = 2, byrow = T), 1:2),
function(i) list(i[[1]], as.numeric(i[[2]])))
#$`1`
#$`1`[[1]]
#[1] "a"
#$`1`[[2]]
#[1] 2
#$`2`
#$`2`[[1]]
#[1] " b"
#$`2`[[2]]
#[1] 5
答案 1 :(得分:1)
看起来像我的JSON列表,这将使您的解析工作非常简单:
x <- '[["a",2],["b",5]]'
library(jsonlite)
fromJSON(x, simplifyVector=FALSE)
#[[1]]
#[[1]][[1]]
#[1] "a"
#
#[[1]][[2]]
#[1] 2
#
#
#[[2]]
#[[2]][[1]]
#[1] "b"
#
#[[2]][[2]]
#[1] 5
如果您希望将它组合回列而不是默认情况下进行简化:
fromJSON(x)
# [,1] [,2]
#[1,] "a" "2"
#[2,] "b" "5"