【问题标题】:Convert string to names list index将字符串转换为名称列表索引
【发布时间】:2019-07-18 10:09:17
【问题描述】:

我有一个包含命名对象的列表,我想通过从字符串中提取列表索引名称来分配它。使用以下方法,我收到以下错误消息:错误:尝试应用非功能。

因此:

test <- list(a = 'a', b = 'b', c = 'c')

### works fine

test$a <- 'foo'

### What I would like to be able to do

n <- names(test)[1]

test$parse(text = n) <- 'foo'

PS:这是使用 Bnlearn 库将自定义系数分配给 bn.fit 对象节点。出于某种原因,您可以使用列表索引名称进行分配,但不能使用列表索引整数。如果有另一种解决方法可以在这种情况下起作用,我会全力以赴。

【问题讨论】:

    标签: r list indexing bnlearn


    【解决方案1】:

    在这种情况下,不要使用$ 进行子集化,使用[

    test <- list(a = 'a', b = 'b', c = 'c')
    test[n]$a <- "foo"
    
    test
    #$a
    #[1] "foo"
    
    #$b
    #[1] "b"
    
    #$c
    #[1] "c"
    

    [[

    test[[n]] <- "foo"
    

    【讨论】:

    • 感谢 Ronak - 有时你不知道的事情很疯狂。我已经使用 R 几年了,从不知道您可以使用括号索引内的索引名称来索引列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-17
    • 2010-12-21
    • 2016-02-06
    • 1970-01-01
    • 2015-04-02
    • 2015-07-26
    相关资源
    最近更新 更多