我正在尝试合并两个数据集
se_lif_1
列SE_NO
和TOT_CV_LIF
ext_merchant_account
包含以下76列:
“SE_NO”, “SEIMS_INDUS_DS_CD”, “CUR_MER_STA_CD”, “CLNT_MAN_CHAN_CD”, “MER_SETUP_DT”
使用以下代码:
se_lif_2 <- merge(se_lif_1,
ext_merchant_account[(ext_merchant_account$CUR_MER_STA_CD %in%
c("A","R")) & (ext_merchant_account$CLNT_MAN_CHAN_CD %in%
c("I","X", " ")) & (ext_merchant_account$MER_SETUP_DT <
S_date),"SEIMS_INDUS_DS_CD"],by = "SE_NO" )
但是低于错误:
"Error in fix.by(by.y, y) : 'by' must specify a uniquely valid column"
同样S_date
是一个类“Date”的对象,其中包含一个记录,我在一个逻辑条件中使用该记录来对来自ext_merchant_account
数据帧的数据进行子集化。
我还检查了“by”中变量的类,这对于两个数据集都是相同的(即整数)。
我也尝试使用by.x
&amp; by.y
但是又遇到了同样的错误。任何人都可以指出我在这段代码中所做的错误。
提前感谢您的帮助。
干杯,
阿米特
答案 0 :(得分:1)
我的猜测是您未能在代码中选择SE_MO
。要使用merge
,两个数据帧都需要共享一个公共变量。最有可能的是,缺少一个数据框SE_MO
。
合并代码应如下所示:
newDF=merge(df1,df2,by=SE_MO)
要重命名您可能想要使用的变量:
names(df1)[1]=c("SE_MO") #'1' refers to location of column