老实说,我完全卡住了,我也不知道该如何表达标题。我有两个数据集,假设它看起来像这样:
数据集1(即GDP相关):
| 年份|国家|
| - ------|- ------|
| 二○ ○ ○年|奥地利|
| 二○ ○一年|奥地利|
| 二○ ○ ○年|比利时|
| 二○ ○一年|比利时|
数据集2(税务相关):
| 年份|奥地利|比利时|
| - ------|- ------|- ------|
| 二○ ○ ○年|五十五|四十八|
| 二○ ○一年|五十一|四十五|
所以我想要的是生成某种函数/循环,它的基本意思是:
- 如果dataset 1中country变量的名称是dataset 2中的列名,请使用以下观察结果
- 然后,根据年份和国家,我想在dataset 1中创建一个名为tax的新变量,将数据集2中的国家税率应用到dataset 1中。
例如,我们知道Austria(观测)也是一个变量的名称,那么我想从dataset 2中获得这个税率,并对dataset 1中的2000年应用55,对2001年应用56。这将对所有国家和年份都适用。
因此应类似于数据集1(即GDP相关):
| 年份|国家|税收|
| - ------|- ------|- ------|
| 二○ ○ ○年|奥地利|五十五|
| 二○ ○一年|奥地利|五十一|
| 二○ ○ ○年|比利时|四十八|
| 二○ ○一年|比利时|四十五|
我的数据集相当大,因此如果我有某种算法来处理这个问题,那就更好了
谢谢!
2条答案
按热度按时间yhxst69z1#
假设第一个数据包含更多列,然后在使用
pivot_longer
将第二个数据整形为long后,与匹配"Year"、"Country"的第一个数据(left_join
)进行联接数据
nsc4cvqm2#
这也应该起作用: