0

2つの異なる次元の2つのデータフレームがあります:

1:

head(x)
   Year GDP_deflator
1  1825           NA
2  1826           NA
3  1827           NA
4  1828           NA
5  1829           NA
6  1829           NA
7  1830           NA
8  1830           NA
9  1830           NA
10 1831           NA

dim(x)
  1733    2

2:

head(dataDef)
   Year GDP_deflator
1  1825     1.788002
2  1826     1.884325
3  1827     2.016997
4  1828     1.802907
5  1829     1.781999
6  1830     1.866437
7  1831     1.960316
8  1832     2.029601
9  1833     1.880957
10 1834     1.845750

dim(dataDef)
 101   2

dataDef$GDP_deflator列の値を列をx$GDP_deflator条件とする列に置き換えたいのですがYear。言い換えれば、私は答えが次のようになりたいです:

head (x)

   Year GDP_deflator
1  1825           1.788002
2  1826           1.884325
3  1827           2.016997
4  1828           1.802907
5  1829           1.781999
6  1829           1.781999
7  1830           1.866437
8  1830           1.866437
9  1830           1.866437
10 1831           1.960316

したがって、repeating年(つまり、1830)は同じ値を取得します1.866437。助言がありますか?

よろしくお願いします

4

2 に答える 2

0

merge2つのdata.framesが必要です。これは多対1のマージです。

于 2012-11-19T12:23:32.737 に答える
0

1つの可能性は使用することmatchです:

x$GDP_deflator <- dataDef$GDP_deflator[match(x$Year, dataDef$Year)]
于 2012-11-19T12:28:20.650 に答える