我有一個包含列「agency_lookup」一「Agency_Reference」表中,對字符串的200個條目,如下:優化迴路功能
- 阿爾法
- 測試
- 伽馬等等。
我有一個數據幀「TEST」包含的條目,如「運動」列一百萬行:
- Alpha_xt2010
- alpha_xt2014
- Beta_xt2016等。
我通過在引用表中的每個條目要循環,發現這串是每個廣告系列列條目中存在,並創建一個新的agency_identifier列在表中變量。
我目前的代碼如下,執行速度很慢。請求如何優化相同的指導。我想了解如何做到這一點的data.table方式
Agency_Reference <- data.frame(agency_lookup = c('alpha','beta','gamma','delta','zeta'))
TEST <- data.frame(Campaign = c('alpha_xt123','ALPHA345','Beta_xyz_34','BETa_testing','code_delta_'))
TEST$agency_identifier <- 0
for (agency_lookup in as.vector(Agency_Reference$agency_lookup)) {
TEST$Agency_identifier <- ifelse(grepl(tolower(agency_lookup), tolower(TEST$Campaign)),agency_lookup,TEST$Agency_identifier)}
預期輸出:
活動---- Agency_identifier
alpha_xt123 ---阿爾法
ALPHA34- --- alpha
Beta_xyz_34 ---- beta
BETa_testing ---- be TA
code_delta _-----三角洲
請出示一個小重複的例子,並且預期輸出 – akrun
@akrun:我已經發布了最初的代碼,有錯誤。因此編輯了代碼以顯示我當前使用的實際代碼。請讓我知道是否需要其他信息,以幫助查詢。 –
你的代碼特別給出了錯誤。 'for'循環。什麼是預期的輸出 – akrun