Previo

setwd("/Users/anaescoto/Dropbox/DGAPA/2018/RMD")
install.packages("foreign", repos = "http://cran.us.r-project.org", dependencies = TRUE)
## Installing package into '/Users/anaescoto/Library/R/3.3/library'
## (as 'lib' is unspecified)
## 
##   There is a binary version available but the source version is
##   later:
##         binary source needs_compilation
## foreign 0.8-69 0.8-71              TRUE
## installing the source package 'foreign'
## Warning in install.packages("foreign", repos = "http://cran.us.r-
## project.org", : installation of package 'foreign' had non-zero exit status
library(foreign)

Resolución del ejercicio

Cargo las bases y checo sus dimensiones

enigh_gastos_persona <- read.dbf("gastospersona.dbf")
dim(enigh_gastos_persona)
## [1] 377013     20
enigh_pobla <- read.dbf("poblacion.dbf")
dim(enigh_pobla)
## [1] 257805    178

A varios gastos le corresponde una persona. Por lo que lo mejor es tener los gastos con la información de mayor nivel, la de individuo

ejercicio<-merge(enigh_gastos_persona,enigh_pobla, by=c("folioviv", "foliohog", "numren"), all.x  = TRUE)
dim(ejercicio)
## [1] 377013    195