我在R中有2个数据帧,我想使用第一个数据帧中的所有列,并从第二个数据帧添加一列。但是,第二个数据帧中的哪一列将由第一个数据帧中的值确定。 我尝试过合并,和其他人合作,但不知道我在做什么。
DataFrame 1
ODS_Data= data.frame(ContractNumber=c(1,2,1,2),
TransactionEffectiveDateAdj=as.Date(c('2016-08-01','2016-08-01','2016-09-01','2016-09-01')),
TransactionTypeCT=c('AF','FS','SW','FS'), GrossAmount=c(100,555,478,632))
DataFrame 2
OLAP_Data= data.frame(PolicyNumber=c(1,2,1,2),
AsOfDate=as.Date(c('2016-08-01','2016-08-01','2016-09-01','2016-09-01')),
AFGrossAmount=c(100,0,642,0), FSGrossAmount=c(0,555,0,632), SWGrossAmount=c(0,0,345,0))
最终结果数据框:
Comparison <- data.frame(TrxEffectiveDateAdj=as.Date(character()),
PolicyNumber=character(),
TransactionType=character(),
ODSTotalGrossAmount=num(),
OLAPTotalGrossAmount=num(),
CompareResult=character())
应如何填充比较数据框:
Comparison$TrxEffectiveDateAdj = ODS_Data$TransactionDateAdj
Comparison$PolicyNumber = ODS_Data$ContractNumber
Comparison$TransactionType = ODS_Data$TransactionTypeCT
Comparison$ODSTotalGrossAmount = ODS_Data$GrossAmount
Comparison$OLAPTotalGrossAmount = If ODS_Data$TransactionTypeCT = 'AF' then OLAP_Data$AFGrossAmount
ElseIf ODS_Data$TransactionTypeCT = 'FS' Then OLAP_Data$FSGrossAmount
ElseIf ODS_Data$TransactionTypeCT = 'SW' then OLAP_Data$SWGrossAmount
End IF
Comarison$CompareResult = Comparison$ODSTotalGrossAmount - Comparison$OLAPTotalGrossAmount
此外,数据框之间的数据应在ODS_Data$ContractNumber = OLAP_Data$PolicyNumber AND ODS_Data$TransactionEffectiveDateAdj = OLAP_Data$AsOfDate
这是很多信息,但我是R的新手,我真的很感激帮助。谢谢!