R 一个向量中的填充值取决于另一个向量中的值
我有两个具有两个不同维度的数据帧: 1: 2: 我想将R 一个向量中的填充值取决于另一个向量中的值,r,R,我有两个具有两个不同维度的数据帧: 1: 2: 我想将dataDef$GDP\u平减物价指数列中的值替换为x$GDP\u平减物价指数列,条件是年列。换言之,我希望答案是: head (x) Year GDP_deflator 1 1825 1.788002 2 1826 1.884325 3 1827 2.016997 4 1828 1.802907 5 1829 1.78199
dataDef$GDP\u平减物价指数
列中的值替换为x$GDP\u平减物价指数
列,条件是年
列。换言之,我希望答案是:
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
因此,重复
年(即1830年)得到相同的值,1.866437
。有什么建议吗
致以最诚挚的问候您希望将两个data.frames合并。这是一个多对一的合并。一种可能是使用
匹配:
x$GDP_deflator <- dataDef$GDP_deflator[match(x$Year, dataDef$Year)]
x$GDP\u平减指数这就是为什么它是多对一匹配。使用all.x
参数。如果您需要代码,您应该提供一个。我们是否可以假定x$Year
中没有重复项?如果是这样,执行以下操作的循环或lappy
将起作用。(在行索引上循环…dataDef[i,2]
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
x$GDP_deflator <- dataDef$GDP_deflator[match(x$Year, dataDef$Year)]