9

次の 2 つのデータ フレームがあります。

d <- data.frame(c1 = c("A","A","B","C","A","C","D","D"))

map <- data.frame(c1 = c("A","B","C","D"), c2 = c(12,14,16,25))

データフレームマップで見つかった対応する値を含むデータフレーム d に「一致」という別の列を追加するにはどうすればよいですか? したがって、データ フレーム d は次のようになります。

A 12
A 12
B 14
C 16
A 12
C 16
D 25
D 25

よろしくお願いします!

4

1 に答える 1

13

と呼ばれる関数を使用するmatch:

d$match <- map$c2[match(d$c1,map$c1)]

また、これらのレベルの指定方法により、次のこともできます。

d$match <- map$c2[d$c1]

ただし、これは、各行が順番に因子matchの水準と正確に一致する場合にのみ機能します。c1

于 2012-11-21T11:22:23.913 に答える