我有两个具有两个不同维度的数据框:
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
。有什么建议吗?
最好的问候
答案 0 :(得分:0)
您希望merge
两个data.frames。这是一个多对一的合并。
答案 1 :(得分:0)
一种可能性是使用match
:
x$GDP_deflator <- dataDef$GDP_deflator[match(x$Year, dataDef$Year)]