I have a df as follows which has 20 people across 5 households. Some people within the household have missing data for whether they have a med_card or not. I want to give th
data.table solution
library(data.table)
setDT(df)[, med_card2 := unique(med_card[!is.na(med_card)]), by = hhold_no]
# person_id hhold_no med_card med_card2
# 1: 1 1 1 1
# 2: 2 1 1 1
# 3: 3 1 NA 1
# 4: 4 1 NA 1
# 5: 5 1 NA 1
# 6: 6 2 0 0
# 7: 7 2 0 0
# 8: 8 2 0 0
# 9: 9 2 0 0
# 10: 10 3 NA 1
# 11: 11 3 NA 1
# 12: 12 3 NA 1
# 13: 13 3 1 1
# 14: 14 3 1 1
# 15: 15 4 1 1
# 16: 16 4 1 1
# 17: 17 5 1 1
# 18: 18 5 1 1
# 19: 19 5 NA 1
# 20: 20 5 NA 1