将列表格式转换为列表中的字符串

Convert a list formatted as string in a list

我在 R 中有这个列表:

x[[82]]["PositionNormalized"]
$PositionNormalized
$PositionNormalized$X
[1] -0.678095

$PositionNormalized$Y
[1] -0.970294

我已经将它转换成这样的字符串:

list=as.character(x[[82]]["PositionNormalized"])
list
[1] "list(X = -0.678095, Y = -0.970294)"

如何将最后一个字符串重新转换回列表对象?

正如@missuse 所建议的,您可以使用 evalparse。后者将创建一个表达式,然后将其计算为 return 一个列表对象。

这是一个可重现的例子:

lst <- list(list(list(x = 123, y = "test")))
lst
eval(parse(text = as.character(lst[[1]])))

您也可以将其用于 运行 代码,如 this example 所示。