Question: I have a data frame with numbers of doctors in some cities in Brazil (data frame A). I have another data frame (data frame B) with the cities population (all of them). How can I obtain the value of number of doctors divided by the city population. Note that I have more cities in B than in A.

```
> A
 City Doctors 
 A          3
 C          4
 E          5
> B
 City     Pop 
 A          100
 B          20
 C          30
 D          40
 E          500
 F          10

```

I expect the following:

```
> Doc_divided_by_Pop
 City  Doctors_Pop
 A               3/100
 C               4/30
 E               5/500

```

Answer: 
Here's a way using `match` from base R -

```
A$Doctors_Pop <- A$Doctors / B$Pop[match(A$City, B$City)]

```

---

Another way using `merge` -

```
result <- merge(A, B, by = "City", all.x = TRUE)

result$Doctors_Pop <- result$Doctors / result$Pop

```
You could also do this with an "update join" using data.table

```
library(data.table)
setDT(A)
setDT(B)

A[B, on = .(City), Doctors_Pop := Doctors/Pop]

A
#    City Doctors Doctors_Pop
# 1:    A       3   0.0300000
# 2:    C       4   0.1333333
# 3:    E       5   0.0100000

```