Home  /  Resources & support  /  FAQs  /  Setting different observations equal

## How can I replace an observation of a variable with a different observation for another variable?

 Title Setting different observations equal Author Jeremy B. Wernow, StataCorp

Here is a common mistake that is made when attempting to replace an observation of a variable with a different observation from another variable:

 . list

+--------------+
|  price   mpg |
|--------------|
1. |  4,099    22 |
2. |  4,749    17 |
3. |  3,799    22 |
4. |  4,816    20 |
5. |  7,827    15 |
|--------------|
6. |  5,788    18 |
7. |  4,453    26 |
8. |  5,189    20 |
9. | 10,372    16 |
10. |  4,082    19 |
+--------------+

. replace mpg[4] = price[7]
weights not allowed
r(101);


The correct syntax would be to use the in qualifier.

 . replace mpg= price[7] in 4

. list

+---------------+
|  price    mpg |
|---------------|
1. |  4,099     22 |
2. |  4,749     17 |
3. |  3,799     22 |
4. |  4,816   4453 |
5. |  7,827     15 |
|---------------|
6. |  5,788     18 |
7. |  4,453     26 |
8. |  5,189     20 |
9. | 10,372     16 |
10. |  4,082     19 |
+---------------+


In programming, you might use macros in place of known values. Observe how the following do-file performs the same task as the above example:

 ------------------------------------------------------example.do
local x = 7
local i = 4
replace mpg = price[x'] in i'
------------------------------------------------------example.do

. list

+--------------+
|  price   mpg |
|--------------|
1. |  4,099    22 |
2. |  4,749    17 |
3. |  3,799    22 |
4. |  4,816    20 |
5. |  7,827    15 |
|--------------|
6. |  5,788    18 |
7. |  4,453    26 |
8. |  5,189    20 |
9. | 10,372    16 |
10. |  4,082    19 |
+--------------+

. do example.do

. local x = 7

. local i = 4

. replace mpg = price[x'] in i'

.
end of do-file

. list

+---------------+
|  price    mpg |
|---------------|
1. |  4,099     22 |
2. |  4,749     17 |
3. |  3,799     22 |
4. |  4,816   4453 |
5. |  7,827     15 |
|---------------|
6. |  5,788     18 |
7. |  4,453     26 |
8. |  5,189     20 |
9. | 10,372     16 |
10. |  4,082     19 |
+---------------+