来自字符串的关联数组

时间:2011-11-30 20:15:32

标签: r text

我想从像"key1=values1;key2=value2"这样的字符串在R中创建一个关联数组。我知道这可以通过双重分割和手动构建阵列来完成,但我想知道是否已经可以使用的东西。

2 个答案:

答案 0 :(得分:10)

使用环境作为“关联数组”提供了一种简单的解决方案。

string <- "key1=99; key2=6"

# Create an environment which will be your array
env <- new.env()

# Assign values to keys in the environment, using eval(parse())
eval(parse(text=string), envir=env)

# Check that it works:
ls(env)
# [1] "key1" "key2"
env$key1
# [1] 99

as.list(env)
# $key1
# [1] 99

# $key2
# [1] 6

答案 1 :(得分:2)

以下是使用eval(parse)

的一种方法
string <- c("key1 = 10, key2 = 20")
eval(parse(text = paste('list(', string, ")")))
$key1
[1] 10

$key2
[1] 20