R:将多重数据帧与r中的多个相同列组合而不复制列?

时间:2018-02-05 10:02:38

标签: r dataframe

我有大约2个数据框,每个数据框有13列,如下所示:

第一个数据帧:

"ID"       "Product" "Date"     "Year" "Month" "KKK_01" "PPP_01" "Output_01"
 SD54d      Pcsq1     2016/02/01  2016  02      1253.25   2563.2   6936
 AD152      P25       2001/06/12  2001  06      1200025   25080    983.01
 26zad      P*896     2012/03/10  2012  03      15647.1   256      99874

第一个数据帧:

"ID"       "Product" "Date"     "Year" "Month" "KKK_02" "PPP_02" "Output_02"
 SD54d      Pcsq1     2016/02/01  2016  02      50       5063      3.26
 EDADA      SP?DEJ    2001/06/12  2001  06      9997     25080     9
 26zad      P*896     2012/03/10  2012  03       0        887      189

可能在两个数据框中都存在相同的ID客户端。在这种情况下,只有列

"KKK_(index)" "PPP_(index)" "III_(index)"  "Output_(index)"

会改变。

最后,我想合并两个数据框而不重复相同的列:         " ID" "产品" "日期" "年份" "月"

finaldataframe:

 "ID"      "Product"     "Date"   "Year" "Month" "KKK_01" "PPP_01" "Output_01" "KKK_02" "PPP_02" "Output_02" 
  SD54d      Pcsq1     2016/02/01  2016  02      50       5063      3.26           50       5063      3.26
  AD152       SP?DEJ    2001/06/12  2001  06     9997     25080     9              0          0       0  
  26zad      P*896     2012/03/10  2012  03      0        887       189            0          0       0  
  EDADA      SP?DEJ    2001/06/12  2001  06      0         0        0             25          9       3

我试图合并" ID"但它没有用。

 dataframe1=merge(dataframe1, dataframe2, all=T)

我甚至尝试在合并后替换na之后的值,但是我收到了错误

invalid factor level, Na generated 

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试转换字符列中的每个因子列并再次合并:

#col = Your column name
dataframe1[,col] <- as.character(datframe1[,col])

您的代码适用于我的配置。

希望能够发挥作用

Gottavianoni