【发布时间】:2015-03-25 11:56:26
【问题描述】:
我正在尝试合并两个数据集
-
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 是一个具有“日期”类的对象,其中包含一条记录,我在其中一个逻辑条件下使用它来对来自ext_merchant_account 数据帧的数据进行子集化。
我还检查了“by”中变量的类,这对于两个数据集都是相同的(即整数)。
我也尝试过使用by.x 和by.y,但又遇到了同样的错误。谁能指出我在这段代码中所做的错误。
提前感谢您的帮助。
干杯,
阿米特
【问题讨论】:
-
请展示一个可重现的例子stackoverflow.com/questions/5963269/…
-
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"]的输出中是否有SE_NO列。光看代码,好像只有"SEIMS_INDUS_DS_CD"这个列。 -
如果两列代表相同的“SE_NO”,我认为您可以使用
by.x='SE_NO', by.y='SEIMS_INDUS_DS_CD) -
是的,但即使在选择所有列后也会出现相同的错误
-
这只是一个猜测。如果没有两个数据集的示例数据或 str(),很难说你的代码可能有什么问题
标签: r