【发布时间】:2014-08-18 22:02:46
【问题描述】:
我有两个数据框。例如
require('xlsx')
csvData <- read.csv("myData.csv")
xlsData <- read.xlsx("myData.xlsx")
csvData 如下所示:
Period CPI VIX
1 0.029 31.740
2 0.039 32.840
3 0.028 34.720
4 0.011 43.740
5 -0.003 35.310
6 0.013 26.090
7 0.032 28.420
8 0.022 45.080
xlsData 看起来像这样:
Period CPI DJIA
1 0.029 12176
2 0.039 10646
3 0.028 11407
4 0.011 9563
5 -0.003 10708
6 0.013 10776
7 0.032 9384
8 0.022 7774
当我合并这些数据时,CPI数据重复,并且在标题上放了一个后缀,这是有问题的(我的真实df中有更多列)。
mergedData <- merge(xlsData, csvData, by = "Period")
合并数据:
Period CPI.x VIX CPI.y DJIA
1 0.029 31.740 0.029 12176
2 0.039 32.840 0.039 10646
3 0.028 34.720 0.028 11407
4 0.011 43.740 0.011 9563
5 -0.003 35.310 -0.003 10708
6 0.013 26.090 0.013 10776
7 0.032 28.420 0.032 9384
8 0.022 45.080 0.022 7774
我想合并数据框而不复制具有相同名称的列。例如,我想要这种输出:
Period CPI VIX DJIA
1 0.029 31.740 12176
2 0.039 32.840 10646
3 0.028 34.720 11407
4 0.011 43.740 9563
5 -0.003 35.310 10708
6 0.013 26.090 10776
7 0.032 28.420 9384
8 0.022 45.080 7774
我不想使用额外的“by”参数,或者从一个 df 中删除列,因为在两个 df 中重复的列太多。我只是在寻找一种在合并过程中删除那些重复列的动态方法。
谢谢!
【问题讨论】: