Я хочу сопоставить код штата и района между двумя кадрами данных и, таким образом, получить производство и урожайность для первого кадра данных.
Может кто-нибудь помочь мне заменить вложенный l oop ниже для более эффективный способ:
for (i in 1:length(og_county2$State)){
for (j in 1:length(km2$State)){
if (is.na(og_county2$`Value.CORN, GRAIN - ACRES HARVESTED`[i]) == "TRUE" & (as.character(og_county2$State[i]) == as.character(km2$State[j])) & (as.character(og_county2$District.code[i]) == as.character(km2$Ag.District.Code[j]))& km2$County[j] =="OTHER (COMBINED) COUNTIES"){
og_county2$`Value.CORN, GRAIN - ACRES HARVESTED`[i] = km2$`Value.CORN, GRAIN - ACRES HARVESTED`[j]
}
if (is.na(og_county2$`Value.CORN, GRAIN - PRODUCTION, MEASURED IN BU`[i]) == "TRUE" & (as.character(og_county2$State[i]) == as.character(km2$State[j])) & (as.character(og_county2$District.code[i]) == as.character(km2$Ag.District.Code[j]))& km2$County[j] =="OTHER (COMBINED) COUNTIES"){
og_county2$`Value.CORN, GRAIN - PRODUCTION, MEASURED IN BU`[i] = km2$`Value.CORN, GRAIN - PRODUCTION, MEASURED IN BU`[j]
}
if (is.na(og_county2$`Value.CORN, GRAIN - YIELD, MEASURED IN BU / ACRE`[i]) == "TRUE" & (as.character(og_county2$State[i]) == as.character(km2$State[j])) & (as.character(og_county2$District.code[i]) == as.character(km2$Ag.District.Code[j]))& km2$County[j] =="OTHER (COMBINED) COUNTIES"){
og_county2$`Value.CORN, GRAIN - YIELD, MEASURED IN BU / ACRE`[i] = km2$`Value.CORN, GRAIN - YIELD, MEASURED IN BU / ACRE`[j]
}
}
}