I'm currently working on a data normalization task where I'm normalizing 30 variables in my dataset. I'm using the square root of the mean of each variable as the denominator for normalization. I have implemented a loop to perform this operation, but I've noticed that all the new variables generated are resulting in missing values.
Thank you!
local vars BA_BUILTA BA_BUILTA_CAP BA_NEWBUILTA90 DRIN_SPOP ENVTAX_GDP ENVTAX_NRG
// Loop through each variable
foreach var of local vars {
// Create a temporary variable to hold non-zero values
gen `var'_temp = `var' if `var' != 0
// Calculate the normalization factor
su `var'_temp, meanonly
local norm_factor = sqrt(r(sum_of_squares))
// Normalize the variable
gen `var'_norm = `var' / `norm_factor'
// Drop the temporary variable
drop `var'_temp
}
- Why am I getting missing values in normalized_data?
- How can I handle missing values more effectively during this normalization process?
Thank you!
local vars BA_BUILTA BA_BUILTA_CAP BA_NEWBUILTA90 DRIN_SPOP ENVTAX_GDP ENVTAX_NRG
// Loop through each variable
foreach var of local vars {
// Create a temporary variable to hold non-zero values
gen `var'_temp = `var' if `var' != 0
// Calculate the normalization factor
su `var'_temp, meanonly
local norm_factor = sqrt(r(sum_of_squares))
// Normalize the variable
gen `var'_norm = `var' / `norm_factor'
// Drop the temporary variable
drop `var'_temp
}
Code:
* Example generated by -dataex-. For more info, type help dataex clear input str75 country int year10 double(BA_BUILTA BA_BUILTA_CAP BA_NEWBUILTA90 DRIN_SPOP ENVTAX_GDP ENVTAX_NRG) "ASEAN" 2000 1.1400000000000001 102.94 36.68 0 0 0 "ASEAN" 2010 0 0 0 0 0 0 "ASEAN" 2022 .78 55.37 63.63 0 0 0 "Afghanistan" 2000 .1 36.480000000000004 51.71 11 0 0 "Afghanistan" 2010 0 0 0 168 0 0 "Afghanistan" 2022 .08 15.76 121.48 219 0 0 "Albania" 2000 1.7999999999999998 160.25 67.6 49 .9 23.16 "Albania" 2010 0 0 0 605 4.46 83.83 "Albania" 2022 1.37 133.99 103.39 631 0 0 "Algeria" 2000 .17 141.48 35.79 70 0 0 "Algeria" 2010 0 0 0 805 0 0 "Algeria" 2022 .12 70.94 61.14 673 0 0 "American Samoa" 2000 2.44 80.52000000000001 0 78 0 0 "American Samoa" 2010 0 0 0 936 0 0 "American Samoa" 2022 2.09 64.74 72.31 866 0 0 "Andorra" 2000 2.21 169.07 47.72 91 0 0 "Andorra" 2010 0 0 0 1001 0 0 "Andorra" 2022 1.68 98.13 88.21 819 0 0 "Angola" 2000 .13 117.94 26.13 0 0 0 "Angola" 2010 0 0 0 0 0 0 "Angola" 2022 .09 43.39 59.89 0 0 0 "Anguilla" 2000 6.17 462.15 126.99 0 0 0 "Anguilla" 2010 0 0 0 0 0 0 "Anguilla" 2022 5.06 279.36 168.12 0 0 0 "Antarctica" 2000 0 0 0 0 0 0 "Antarctica" 2010 0 0 0 0 0 0 "Antarctica" 2022 0 0 0 0 0 0 "Antigua and Barbuda" 2000 2.91 178.54 14.2 0 1.1600000000000001 0 "Antigua and Barbuda" 2010 0 0 0 0 5.3999999999999995 59.3 "Antigua and Barbuda" 2022 1.81 82.67 32.93 0 2.9600000000000004 293.7 "Argentina" 2000 .31000000000000005 242.43 20.23 0 15.21 597.27 "Argentina" 2010 0 0 0 0 24.380000000000003 990.4499999999999 "Argentina" 2022 .18 118.43 31.78 0 18.68 776.24 "Armenia" 2000 2.6399999999999997 228.74 12.93 80 0 0 "Armenia" 2010 0 0 0 888 0 0 "Armenia" 2022 1.48 143.52 18.87 762 0 0 "Aruba" 2000 51.43 1225.62 23.69 0 0 0 "Aruba" 2010 0 0 0 0 0 0 "Aruba" 2022 29.08 502.89 26.47 0 0 0 "Australia" 2000 .19 838.05 12.94 0 18.37 528.35 "Australia" 2010 0 0 0 0 22.56 746.44 "Australia" 2022 .12 378.13 26.09 0 12.32 322.88 "Austria" 2000 4.5 473.81 20.5 96 15.840000000000002 446.0400000000001 "Austria" 2010 0 0 0 1075 28.79 687.4300000000001 "Austria" 2022 2.78 268.56 36.14 891 21.87 541.2299999999999 "Azerbaijan" 2000 2.04 227.01999999999998 23.77 58 0 0 "Azerbaijan" 2010 0 0 0 760 0 0 "Azerbaijan" 2022 1.29 116.59 41.79 765 0 0 "BRIICS economies - Brazil, Russia, India, Indonesia, China and South Africa" 2000 .89 129.76 29.69 0 0 0 "BRIICS economies - Brazil, Russia, India, Indonesia, China and South Africa" 2010 0 0 0 0 0 0 "BRIICS economies - Brazil, Russia, India, Indonesia, China and South Africa" 2022 .64 77.12 66.02 0 0 0 "Bahamas, The" 2000 2.04 821.61 15.17 0 9.739999999999998 0 "Bahamas, The" 2010 0 0 0 0 10.49 0 "Bahamas, The" 2022 1.16 349.24 22.36 0 12.830000000000002 3.85 "Bahrain" 2000 46.54 508.48 6.64 99 0 0 "Bahrain" 2010 0 0 0 1089 0 0 "Bahrain" 2022 25.51 119.05 13.27 891 0 0 "Bangladesh" 2000 9.76 116.76 13.14 55 .06 0 "Bangladesh" 2010 0 0 0 605 .7000000000000002 0 "Bangladesh" 2022 5.9 52.44 28.77 512 .5 0 "Barbados" 2000 30.08 489.24 44.97 0 0 0 "Barbados" 2010 0 0 0 0 0 0 "Barbados" 2022 18.36 280.03 49.52 0 2.52 300 "Belarus" 2000 2.07 425.94 19.91 81 0 0 "Belarus" 2010 0 0 0 939 0 0 "Belarus" 2022 1.39 303.61 47.89 848 0 0 "Belgium" 2000 24.28 729.67 19.34 99 18.72 397.11 "Belgium" 2010 0 0 0 1090 26.069999999999997 626.3299999999999 "Belgium" 2022 14.68 399.19 32.61 900 19.299999999999997 554.87 "Belize" 2000 .29000000000000004 279.18 41.21 0 1.24 0 "Belize" 2010 0 0 0 0 2.15 130.21 "Belize" 2022 .18 112.53 57.27 0 1.42 297.75 "Benin" 2000 .78 152.74 34.13 0 0 0 "Benin" 2010 0 0 0 0 0 0 "Benin" 2022 .51 57.89 54.48 0 0 0 "Bermuda" 2000 59.28 344.45000000000005 0 0 0 0 "Bermuda" 2010 0 0 0 0 0 0 "Bermuda" 2022 31.11 178.61 4.95 0 0 0 "Bhutan" 2000 .02 15.389999999999999 48.25 29 0 0 "Bhutan" 2010 0 0 0 349 0 0 "Bhutan" 2022 .08 43.77 798.48 321 7.559999999999999 211.64000000000001 "Bolivia" 2000 .08 112.42 45.68 0 4.34 507.42 "Bolivia" 2010 0 0 0 0 22.349999999999998 1081.38 "Bolivia" 2022 .05 55.2 67.53 0 11.23 871.65 "Bonaire, Saint Eustatius and Saba" 2000 0 0 0 0 0 0 "Bonaire, Saint Eustatius and Saba" 2010 0 0 0 0 0 0 "Bonaire, Saint Eustatius and Saba" 2022 0 0 0 0 0 0 "Bosnia and Herzegovina" 2000 1.44 182.3 29.05 87 0 0 "Bosnia and Herzegovina" 2010 0 0 0 969 0 0 "Bosnia and Herzegovina" 2022 .94 137.15 48.81 801 0 0 "Botswana" 2000 .06 243.82999999999998 55.75 0 0 0 "Botswana" 2010 0 0 0 0 3.66 386.34000000000003 "Botswana" 2022 .04 121.66 79.76 0 2.37 245.92000000000002 "Brazil" 2000 .35 185.09 30.1 76 2.58 0 "Brazil" 2010 0 0 0 859 11.85 54.67 "Brazil" 2022 .23 95.59 48.23 745 7.28 44.76 "British Virgin Islands" 2000 12.39 987.2 7.58 0 0 0 "British Virgin Islands" 2010 0 0 0 0 0 0 "British Virgin Islands" 2022 7.23 374.62 21.15 0 0 0 "Brunei Darussalam" 2000 .9199999999999999 184.21 20.85 0 0 0 end
Comment