【问题标题】:Associative array from string来自字符串的关联数组
【发布时间】:2011-11-30 20:15:31
【问题描述】:

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

【问题讨论】:

标签: r text


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这是使用eval(parse)的一种方法

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 2021-11-03
      • 1970-01-01
      • 2020-03-06
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多