0

v1 と v2 の 2 つのベクトルがあります。

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と1の文字が混同されることが多いため、リストに「l」という名前を付けることに反対しました。非セリフフォントでのlとIのあいまいさは言うまでもありません。)

于 2012-06-21T12:52:51.853 に答える