将字符串转换为名称列表索引

时间:2019-07-18 10:09:17

标签: r list indexing bnlearn

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

因此:

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对象节点。由于某些原因,您可以使用列表索引名称进行分配,但不能使用列表索引整数进行分配。如果在这种情况下还有其他解决方法可以解决,那么我会不知所措。

1 个答案:

答案 0 :(得分: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"