0

我有两个向量,v1 和 v2

v1 <- c('one', 'two', 'three')
v2 <- c('two', 'three', 'four')

我想创建一个产生的列表:

"two" : "two", "three" : "three"

目前,我只能生成以下代码:

> l <- list()
> l <- c(l, subset(v1, v1 %in% v2)
> l
    [[1]]
    [1] "two"

    [[2]]
    [1] "three"

如何使键成为实际值而不是索引?谢谢。

4

1 回答 1

1

我不确定您所说的“键”是什么意思,但我猜您希望列表节点的“名称”与值相同:

l <- c(l, subset(v1, v1 %in% v2) )
names(l) <- unlist(l)
 l
$two
[1] "two"

$three
[1] "three"

(我反对将列表命名为“l”,因为 l 和 1 字符在 serif 字体中经常令人困惑地相似。更不用说 l 和 I 在非衬线字体中的歧义了。)

于 2012-06-21T12:52:51.853 回答