在R中合并宽数据帧和长数据帧

在R中合并宽数据帧和长数据帧,r,merge,R,Merge,我试图将GDP数据添加到我拥有的数据框架中。我已经包括了数据帧的前5行,以供参考 我想把每个州的GDP按年份加起来。在我的数据框架中,我有一个周期和状态列,我想用它来“匹配”相应的GDP值,但我似乎不知道怎么做,因为GDP信息的格式很广 任何帮助都将不胜感激 候选对象从宽到长重塑形状,然后像往常一样合并 与您的示例数据不匹配,但以下内容适用于您的完整数据: merge(candidates, pivot_longer(stateGDP, cols = -1, names_to = &

我试图将GDP数据添加到我拥有的数据框架中。我已经包括了数据帧的前5行,以供参考

我想把每个州的GDP按年份加起来。在我的数据框架中,我有一个周期和状态列,我想用它来“匹配”相应的GDP值,但我似乎不知道怎么做,因为GDP信息的格式很广

任何帮助都将不胜感激


候选对象从宽到长重塑形状,然后像往常一样合并

与您的示例数据不匹配,但以下内容适用于您的完整数据:

merge(candidates,
      pivot_longer(stateGDP, cols = -1, names_to = "State", values_to = "GDP"),
      by.x = c("Cycle", "State"), by.y = c("X1", "State"))
这是一个tidyverse版本,我稍微更改了您的输入数据,以确保有匹配项

图书馆弹琴 图书馆三年 候选人$GDP% mutateCycle=as.characterX1%>% 选择美国,-X1 左(右),州(右) >连接,通过=C循环,状态 >循环候选名称状态VoteShare状态GDP >1 1990年罗伯特·帕尔默加利福尼亚州0.3367558 7.2 >2 1990年大卫·艾略特·史密斯加利福尼亚州0.3565430 7.2 >3 1990年Gary A Condit CA 0.6618500 7.2 >4 1990年克里夫伯里斯约0.3381500 7.2 >5 1990 Jerry M Reiss CA 0.2203567 7.2 你的数据稍微修改了一下


候选者从宽变长,然后像往常一样合并