Присоединиться к хранимым переменным в цикле - PullRequest
0 голосов
/ 09 октября 2018

Мне нужно предотвратить объединение переменных, которые неявно хранятся и обновляются в цикле.Вот код:

    #initialize vectors
SourceColumn = NULL
TargetColumn = NULL
InSource_NotInTarget = NULL
InTarget_NotInSource = NULL
CountNASource = NULL
CountNATarget = NULL
Count_Source_Total_Rows = NULL
Count_Target_Total_Rows = NULL
Count_Source_Unique_Rows = NULL
Count_Target_Unique_Rows = NULL
SourceRowType = NULL
TargetRowType = NULL

for (i in names(nmMappingLOAD_CC_C_PROJECT_CONFIG)){
  a1Ind = paste(i)
  a2Ind = paste(nmMappingLOAD_CC_C_PROJECT_CONFIG[i])


  #DB data(Target)
  a1 = adhocTibl[a1Ind]
  #Excel data(Source)
  a2 = excelData[a2Ind]

  #Build col vectors

  #fails here
  Count_InTarget_NotInSource = append(InTarget_NotInSource, nrow(anti_join(a1, a2, by = c(names(a1) = names(a2)))))
  Count_InSource_NotInTarget = append(InSource_NotInTarget, nrow(anti_join(a2, a1, by = c("PROJECT_ID"="PROJECT_CONFIG_ID"))))


}

Здесь происходит сбой Count_InTarget_NotInSource = append(InTarget_NotInSource, nrow(anti_join(a1, a2, by = c(names(a1) = names(a2)))))

С ошибкой Error: Error: unexpected '}' in "}"

Я могу явно указать столбцы соединения, такие как by = c("PROJECT_CONFIG_ID"="PROJECT_ID")))) иэто будет работать, но для этого случая я перебираю несколько столбцов в обеих таблицах, а имена столбцов обновляются в цикле.

1 Ответ

0 голосов
/ 09 октября 2018

удалось решить, используя setnames:

  Count_InTarget_NotInSource = append(InTarget_NotInSource, nrow(anti_join(a1, a2, by = setNames(names(a2), names(a1)))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...