1 item has been added to your cart.

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 (1 real change made) . 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' (1 real change made) . 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 | +---------------+
© Copyright 1996–2024 StataCorp LLC. All rights reserved. Terms of use | Privacy policy | Contact us

We use cookies

We use cookies to ensure that we give you the best experience on our website—to enhance site navigation, to analyze usage, and to assist in our marketing efforts. By continuing to use our site, you consent to the storing of cookies on your device and agree to delivery of content, including web fonts and JavaScript, from third party web services. Cookie Settings

Privacy policy

Last updated: 16 November 2022 StataCorp LLC (StataCorp) strives to provide our users with exceptional products and services. To do so, we must collect personal information from you. This information is necessary to conduct business with our existing and potential customers. We collect and use this information only where we may legally do so. This policy explains what personal information we collect, how we use it, and what rights you have to that information. Privacy policy

Required cookies Advertising cookies

Required cookies

These cookies are essential for our website to function and do not store any personally identifiable information. These cookies cannot be disabled.

Advertising and performance cookies

This website uses cookies to provide you with a better user experience. A cookie is a small piece of data our website stores on a site visitor's hard drive and accesses each time you visit so we can improve your access to our site, better understand how you use our site, and serve you content that may be of interest to you. For instance, we store a cookie when you log in to our shopping cart so that we can maintain your shopping cart should you not complete checkout. These cookies do not directly store your personal information, but they do support the ability to uniquely identify your internet browser and device. Please note: Clearing your browser cookies at any time will undo preferences saved here. The option selected here will apply only to the device you are currently using.