如果名称存在,如何将值添加到命名列表?

时间:2014-04-09 09:48:17

标签: r list named

我有以下名为list的示例:

> named_list <- c(0,0,0)
> names(named_list) <- c('a','b','c')
> named_list
a b c 
0 0 0 

我有一个带有我想要改变的值的向量

> set_to_1 <- c('b','c','d')

所以现在我改变了值

> named_list[set_to_1] <- 1

我得到了

> named_list
a b c d 
0 1 1 1 

但是,我想得到

> named_list
a b c
0 1 1

我该怎么做?

1 个答案:

答案 0 :(得分:4)

也许这适合你:

named_list[names(named_list) %in% set_to_1] <- 1
named_list
# a b c 
# 0 1 1 

或者这个:

named_list[intersect(names(named_list), set_to_1)] <- 1