将字符串转换为名称列表索引
Convert string to names list index
我有一个列表,其中包含我想通过从字符串中提取列表索引名称来分配的命名对象。使用以下方法我收到以下错误消息:错误:尝试应用非功能。
因此:
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对象节点。出于某种原因,您可以使用列表索引名称进行分配,但不能使用列表索引整数。如果有另一种解决方法可以在这种情况下起作用,我洗耳恭听。
在那种情况下,不要使用 $
进行子集化,使用 [
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"
我有一个列表,其中包含我想通过从字符串中提取列表索引名称来分配的命名对象。使用以下方法我收到以下错误消息:错误:尝试应用非功能。
因此:
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对象节点。出于某种原因,您可以使用列表索引名称进行分配,但不能使用列表索引整数。如果有另一种解决方法可以在这种情况下起作用,我洗耳恭听。
在那种情况下,不要使用 $
进行子集化,使用 [
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"