오히려 다른 행 값을 찾기 위해 행에 의해 여러 열을 일치하는 방법 :두 dataframes :이 같은 루프 중첩을하는 것보다
나는 것 같은 느낌for (rowAll in 1:nrow(groupDataUnadjusted)) {
year <- groupDataUnadjusted[rowAll, "year"]
income <- groupDataUnadjusted[rowAll, "income_group"]
joint <- groupDataUnadjusted[rowAll, "Joint"]
child <- groupDataUnadjusted[rowAll, "children"]
for (rowPuf in 1:nrow(nationalPuf)) {
yearPuf <- nationalPuf[rowPuf, "year"]
incomePuf <- nationalPuf[rowPuf, "income_group"]
jointPuf <- nationalPuf[rowPuf, "Joint"]
childPuf <- nationalPuf[rowPuf, "children"]
if ((year == yearPuf) && (income == incomePuf) && (joint == jointPuf) && (child == childPuf)) {
groupDataUnadjusted[rowAll, 'tax_difference_pct'] <- groupDataUnadjusted[rowAll, 'tax_difference_pct'] + nationalPuf[rowPuf, 'diff']
break
}
}
}
groupDataAdjusted <- groupDataUnadjusted
는 해당를 찾을 수있는 빠른 방법이 있어야합니다 두 데이터 프레임 사이의 행 나는 데이터 프레임과 다른 길이를 가져 와서 3 개의 열이 어디에 있는지 찾는 것으로 매치됩니다. 그들이 동일하면, 그 행이 그들 사이에 일치하는 것을 압니다. 그런 다음 해당 행에서 하나의 값을 가져 와서 다른 데이터 프레임의 값에 추가합니다.
그러나 R.에 더 나은 방법이있을
예제 데이터를 보내주십시오. – CCurtis
@ 필수 그것은 필요하지 않습니다. 이것은 일반적인 경우입니다. –
예제가 없으면 실제로 대답을 기대할 수 없습니다. 대답은 대개 상황에 따라 매우 다릅니다. – zacdav