41. Coronavirus Data Modeling#

41.1. Background#

From Wikipedia…

“The 2019–20 coronavirus pandemic is an ongoing global pandemic of coronavirus disease 2019 (COVID-19) caused by the severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The virus was first reported in Wuhan, Hubei, China, in December 2019.[5][6] On March 11, 2020, the World Health Organization declared the outbreak a pandemic.[7] As of March 12, 2020, over 134,000 cases have been confirmed in more than 120 countries and territories, with major outbreaks in mainland China, Italy, South Korea, and Iran.[3] Around 5,000 people, with about 3200 from China, have died from the disease. More than 69,000 have recovered.[4]

The virus spreads between people in a way similar to influenza, via respiratory droplets from coughing.[8][9][10] The time between exposure and symptom onset is typically five days, but may range from two to fourteen days.[10][11] Symptoms are most often fever, cough, and shortness of breath.[10][11] Complications may include pneumonia and acute respiratory distress syndrome. There is currently no vaccine or specific antiviral treatment, but research is ongoing. Efforts are aimed at managing symptoms and supportive therapy. Recommended preventive measures include handwashing, maintaining distance from other people (particularly those who are sick), and monitoring and self-isolation for fourteen days for people who suspect they are infected.[9][10][12]

Public health responses around the world have included travel restrictions, quarantines, curfews, event cancellations, and school closures. They have included the quarantine of all of Italy and the Chinese province of Hubei; various curfew measures in China and South Korea;[13][14][15] screening methods at airports and train stations;[16] and travel advisories regarding regions with community transmission.[17][18][19][20] Schools have closed nationwide in 22 countries or locally in 17 countries, affecting more than 370 million students.[21]”

https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic

For ADDITIONAL BACKGROUND, see JHU’s COVID-19 Resource Center: https://coronavirus.jhu.edu/

#RPI IDEA

Check out these resources that IDEA has put together.

https://idea.rpi.edu/covid-19-resources

41.2. The Assignment#

Our lives have been seriously disrupted by the coronavirus pandemic, and there is every indication that this is going to be a global event which requires colloration in a global community to solve. Studying the data provides an opportunity to connect the pandemic to the variety of themes from the class.

A number of folks have already been examining this data. https://ourworldindata.org/coronavirus-source-data

  1. Discussion. What is the role of open data? Why is it important in this case?

  1. Read this. https://medium.com/@tomaspueyo/coronavirus-act-today-or-people-will-die-f4d3d9cd99ca

What is the role of bias in the data? Identify 2 different ways that the data could be biased.

#Load some data
import pandas as pd
df=pd.read_csv('https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/10-21-2020.csv')
df
FIPS Admin2 Province_State Country_Region Last_Update Lat Long_ Confirmed Deaths Recovered Active Combined_Key Incidence_Rate Case-Fatality_Ratio
0 NaN NaN NaN Afghanistan 2020-10-22 04:24:27 33.939110 67.709953 40510 1501 33824 5185.0 Afghanistan 104.063001 3.705258
1 NaN NaN NaN Albania 2020-10-22 04:24:27 41.153300 20.168300 17948 462 10341 7145.0 Albania 623.670860 2.574103
2 NaN NaN NaN Algeria 2020-10-22 04:24:27 28.033900 1.659600 55081 1880 38482 14719.0 Algeria 125.609327 3.413155
3 NaN NaN NaN Andorra 2020-10-22 04:24:27 42.506300 1.521800 3811 63 2470 1278.0 Andorra 4932.375591 1.653109
4 NaN NaN NaN Angola 2020-10-22 04:24:27 -11.202700 17.873900 8338 255 3040 5043.0 Angola 25.369476 3.058287
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3953 NaN NaN NaN West Bank and Gaza 2020-10-22 04:24:27 31.952200 35.233200 48628 427 41935 6266.0 West Bank and Gaza 953.225536 0.878095
3954 NaN NaN NaN Western Sahara 2020-10-22 04:24:27 24.215500 -12.885800 10 1 8 1.0 Western Sahara 1.674116 10.000000
3955 NaN NaN NaN Yemen 2020-10-22 04:24:27 15.552727 48.516388 2057 597 1344 116.0 Yemen 6.896675 29.022849
3956 NaN NaN NaN Zambia 2020-10-22 04:24:27 -13.133897 27.849332 16000 346 15168 486.0 Zambia 87.032410 2.162500
3957 NaN NaN NaN Zimbabwe 2020-10-22 04:24:27 -19.015438 29.154857 8215 236 7725 254.0 Zimbabwe 55.271751 2.872794

3958 rows × 14 columns

41.3. Preprocessing#

We have to deal with missing values first.

First let’s check the missing values for each column.

df.isnull().sum() 
FIPS                   697
Admin2                 692
Province_State         169
Country_Region           0
Last_Update              0
Lat                     81
Long_                   81
Confirmed                0
Deaths                   0
Recovered                0
Active                   3
Combined_Key             0
Incidence_Rate          81
Case-Fatality_Ratio     43
dtype: int64
df.loc[df['Province_State'].isnull(),:]
FIPS Admin2 Province_State Country_Region Last_Update Lat Long_ Confirmed Deaths Recovered Active Combined_Key Incidence_Rate Case-Fatality_Ratio
0 NaN NaN NaN Afghanistan 2020-10-22 04:24:27 33.939110 67.709953 40510 1501 33824 5185.0 Afghanistan 104.063001 3.705258
1 NaN NaN NaN Albania 2020-10-22 04:24:27 41.153300 20.168300 17948 462 10341 7145.0 Albania 623.670860 2.574103
2 NaN NaN NaN Algeria 2020-10-22 04:24:27 28.033900 1.659600 55081 1880 38482 14719.0 Algeria 125.609327 3.413155
3 NaN NaN NaN Andorra 2020-10-22 04:24:27 42.506300 1.521800 3811 63 2470 1278.0 Andorra 4932.375591 1.653109
4 NaN NaN NaN Angola 2020-10-22 04:24:27 -11.202700 17.873900 8338 255 3040 5043.0 Angola 25.369476 3.058287
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3953 NaN NaN NaN West Bank and Gaza 2020-10-22 04:24:27 31.952200 35.233200 48628 427 41935 6266.0 West Bank and Gaza 953.225536 0.878095
3954 NaN NaN NaN Western Sahara 2020-10-22 04:24:27 24.215500 -12.885800 10 1 8 1.0 Western Sahara 1.674116 10.000000
3955 NaN NaN NaN Yemen 2020-10-22 04:24:27 15.552727 48.516388 2057 597 1344 116.0 Yemen 6.896675 29.022849
3956 NaN NaN NaN Zambia 2020-10-22 04:24:27 -13.133897 27.849332 16000 346 15168 486.0 Zambia 87.032410 2.162500
3957 NaN NaN NaN Zimbabwe 2020-10-22 04:24:27 -19.015438 29.154857 8215 236 7725 254.0 Zimbabwe 55.271751 2.872794

169 rows × 14 columns

df.loc[df['Province_State'].notnull(),:]
FIPS Admin2 Province_State Country_Region Last_Update Lat Long_ Confirmed Deaths Recovered Active Combined_Key Incidence_Rate Case-Fatality_Ratio
8 NaN NaN Australian Capital Territory Australia 2020-10-22 04:24:27 -35.4735 149.0124 114 3 110 1.0 Australian Capital Territory, Australia 26.629292 2.631579
9 NaN NaN New South Wales Australia 2020-10-22 04:24:27 -33.8688 151.2093 4363 53 3141 1169.0 New South Wales, Australia 53.744765 1.214760
10 NaN NaN Northern Territory Australia 2020-10-22 04:24:27 -12.4634 130.8456 33 0 33 0.0 Northern Territory, Australia 13.436482 0.000000
11 NaN NaN Queensland Australia 2020-10-22 04:24:27 -27.4698 153.0251 1165 6 1155 4.0 Queensland, Australia 22.773922 0.515021
12 NaN NaN South Australia Australia 2020-10-22 04:24:27 -34.9285 138.6007 485 4 473 8.0 South Australia, Australia 27.611728 0.824742
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
3944 NaN NaN Northern Ireland United Kingdom 2020-10-22 04:24:27 54.7877 -6.4923 29992 629 0 29363.0 Northern Ireland, United Kingdom 1593.962585 2.097226
3945 NaN NaN Scotland United Kingdom 2020-10-22 04:24:27 56.4907 -4.2026 50903 2653 0 48250.0 Scotland, United Kingdom 931.726246 5.211874
3946 NaN NaN Turks and Caicos Islands United Kingdom 2020-10-22 04:24:27 21.6940 -71.7979 698 6 689 3.0 Turks and Caicos Islands, United Kingdom 1802.779069 0.859599
3947 NaN NaN Unknown United Kingdom 2020-10-22 04:24:27 NaN NaN 0 0 0 0.0 Unknown, United Kingdom NaN NaN
3948 NaN NaN Wales United Kingdom 2020-10-22 04:24:27 52.1307 -3.7837 38361 1736 0 36625.0 Wales, United Kingdom 1222.232843 4.525429

3789 rows × 14 columns

41.4. Missing Values and data#

  1. How might we deal with missing values? How is the data structured such that aggregation might be relevant.

#Note the country is then the index here. 
country=pd.pivot_table(df, values=['Confirmed',	'Deaths',	'Recovered'], index='Country_Region',  aggfunc='sum')
country
Confirmed Deaths Recovered
Country_Region
Afghanistan 40510 1501 33824
Albania 17948 462 10341
Algeria 55081 1880 38482
Andorra 3811 63 2470
Angola 8338 255 3040
... ... ... ...
West Bank and Gaza 48628 427 41935
Western Sahara 10 1 8
Yemen 2057 597 1344
Zambia 16000 346 15168
Zimbabwe 8215 236 7725

189 rows × 3 columns

41.5. Clustering#

Here is and example of the elbow method, which is used to understand the number of clusters.

https://scikit-learn.org/stable/modules/clustering.html#k-means

The K-means algorithm aims to choose centroids that minimise the inertia, or within-cluster sum-of-squares criterion.

By looking at the total inertia at different numbers of clusters, we can get an idea of the appropriate number of clusters.

#This indicates the 

from sklearn.cluster import KMeans
sum_sq = {}
for k in range(1,30):
    kmeans = KMeans(n_clusters = k).fit(country)
    # Inertia: Sum of distances of samples to their closest cluster center
    sum_sq[k] = kmeans.inertia_
  
  
#ineria at different levels of K
sum_sq
{1: 240200523742595.03,
 2: 26118277525526.312,
 3: 16121977356352.586,
 4: 9790709951044.086,
 5: 4452358099978.585,
 6: 2142071723858.3994,
 7: 1302665996377.292,
 8: 807981658417.6555,
 9: 478991735848.45557,
 10: 377405453788.2289,
 11: 307152747322.0111,
 12: 245677659711.38748,
 13: 189518387573.89166,
 14: 149438125618.776,
 15: 120686764650.91898,
 16: 98334335773.64725,
 17: 81825024570.2655,
 18: 68432527611.26552,
 19: 56394991824.24425,
 20: 49709594818.66223,
 21: 46165271732.27986,
 22: 39720129392.78972,
 23: 34291438369.473236,
 24: 30241197922.729294,
 25: 26642803384.44824,
 26: 24316546754.258953,
 27: 21778298754.866142,
 28: 19306461700.0672,
 29: 17073793380.731209}

41.6. The Elbow Method#

Not a type of criteria like p<0.05, but the elbow method you look for where the change in the variance explained from adding more clusters drops extensively.

# plot elbow graph
import matplotlib
from matplotlib import pyplot as plt
plt.plot(list(sum_sq.keys()),
         list(sum_sq.values()),
        linestyle = '-',
        marker = 'H',
        markersize = 2,
        markerfacecolor = 'red')
[<matplotlib.lines.Line2D at 0x7fa2bc952b10>]
../_images/91da2db56bae2c408677a6586f0d209b51cca014818ddb9c27761ac5a8dda341.png

41.7. Looks like we can justify 5 clusters.#

See how adding the 5th doesn’t really impact the total variance as much? It might be interesting to do the analysis both at 4 and 5 and try to interpret.

kmeans = KMeans(n_clusters=5)
kmeans.fit(country)
country['y_kmeans'] = kmeans.predict(country)

41.8. Looks like they are mostly 0s. Let’s merge our data back together so we could get a clearer picture.#

loc=pd.pivot_table(df, values=['Lat','Long_'], index='Country_Region',  aggfunc='mean')
#loc['cluster']=y_kmeans
loc
Lat Long_
Country_Region
Afghanistan 33.939110 67.709953
Albania 41.153300 20.168300
Algeria 28.033900 1.659600
Andorra 42.506300 1.521800
Angola -11.202700 17.873900
... ... ...
West Bank and Gaza 31.952200 35.233200
Western Sahara 24.215500 -12.885800
Yemen 15.552727 48.516388
Zambia -13.133897 27.849332
Zimbabwe -19.015438 29.154857

187 rows × 2 columns

alldata=country.merge(loc, left_index=True, right_index=True)
#join in our dataframes

alldata.to_csv("alldata.csv")  
alldata
Confirmed Deaths Recovered y_kmeans Lat Long_
Country_Region
Afghanistan 40510 1501 33824 0 33.939110 67.709953
Albania 17948 462 10341 0 41.153300 20.168300
Algeria 55081 1880 38482 0 28.033900 1.659600
Andorra 3811 63 2470 0 42.506300 1.521800
Angola 8338 255 3040 0 -11.202700 17.873900
... ... ... ... ... ... ...
West Bank and Gaza 48628 427 41935 0 31.952200 35.233200
Western Sahara 10 1 8 0 24.215500 -12.885800
Yemen 2057 597 1344 0 15.552727 48.516388
Zambia 16000 346 15168 0 -13.133897 27.849332
Zimbabwe 8215 236 7725 0 -19.015438 29.154857

187 rows × 6 columns

#Alldata
from google.colab import files
files.download("alldata.csv")
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-27-34a6095d693a> in <module>
      1 #Alldata
----> 2 from google.colab import files
      3 files.download("alldata.csv")

ModuleNotFoundError: No module named 'google.colab'
alldata.sort_values('cluster', inplace=True)

#How do we interpret our clusters?

alldata[alldata.cluster!=0]
Confirmed Deaths Recovered Latitude Longitude cluster
Country/Region
China 81397 3265 72362 32.729748 111.684242 1
Germany 24873 94 266 51.165700 10.451500 2
US 33276 417 178 38.112296 -84.664082 2
France 16044 674 2200 3.320689 -13.517378 2
Iran 21638 1685 7931 32.427900 53.688000 2
Spain 28768 1772 2575 40.463700 -3.749200 2
Italy 59138 5476 7024 41.871900 12.567400 3
#Details
pd.set_option('display.max_rows', 500)  #this allows us to see all rows. 
alldata[alldata.cluster==0]
Confirmed Deaths Recovered Latitude Longitude cluster
Country/Region
Afghanistan 40 1 1 33.939100 67.710000 0
Albania 89 2 2 41.153300 20.168300 0
Algeria 201 17 65 28.033900 1.659600 0
Andorra 113 1 1 42.506300 1.521800 0
Angola 2 0 0 -11.202700 17.873900 0
Antigua and Barbuda 1 0 0 17.060800 -61.796400 0
Argentina 225 4 3 -38.416100 -63.616700 0
Armenia 194 0 2 40.069100 45.038200 0
Australia 1314 7 88 -24.502867 141.055589 0
Austria 3244 16 9 47.516200 14.550100 0
Azerbaijan 65 1 10 40.143100 47.576900 0
Bahamas, The 4 0 0 25.034300 -77.396300 0
Bahrain 332 2 149 26.066700 50.557700 0
Bangladesh 27 2 3 23.685000 90.356300 0
Barbados 14 0 0 13.193900 -59.543200 0
Belarus 76 0 15 53.709800 27.953400 0
Belgium 3401 75 263 50.503900 4.469900 0
Benin 2 0 0 9.307700 2.315800 0
Bhutan 2 0 0 27.514200 90.433600 0
Bolivia 24 0 0 -16.290200 -63.588700 0
Bosnia and Herzegovina 126 1 2 43.915900 17.679100 0
Brazil 1593 25 2 -14.235000 -51.925300 0
Brunei 88 0 2 4.535300 114.727700 0
Bulgaria 187 3 3 42.733900 25.485800 0
Burkina Faso 75 4 5 12.238300 -1.561600 0
Cabo Verde 3 0 0 16.538800 -23.041800 0
Cambodia 84 0 1 12.565700 104.991000 0
Cameroon 40 0 0 3.848000 11.502100 0
Canada 1465 21 10 50.993533 -92.262983 0
Cape Verde 0 0 0 15.111100 -23.616700 0
Central African Republic 3 0 0 6.611100 20.939400 0
Chad 1 0 0 15.454200 18.732200 0
Chile 632 1 8 -35.675100 -71.543000 0
Colombia 231 2 3 4.570900 -74.297300 0
Congo (Brazzaville) 3 0 0 -0.228000 15.827700 0
Congo (Kinshasa) 30 1 0 -4.038300 21.758700 0
Costa Rica 134 2 2 9.748900 -83.753400 0
Cote d'Ivoire 14 0 1 7.540000 -5.547100 0
Croatia 254 1 5 45.100000 15.200000 0
Cruise Ship 712 8 325 35.449800 139.664900 0
Cuba 35 1 0 21.521800 -77.781200 0
Cyprus 95 1 3 35.126400 33.429900 0
Czechia 1120 1 6 49.817500 15.473000 0
Denmark 1514 13 1 63.287800 -13.338100 0
Djibouti 1 0 0 11.825100 42.590300 0
Dominica 1 0 0 15.415000 -61.371000 0
Dominican Republic 202 3 0 18.735700 -70.162700 0
East Timor 0 0 0 -8.550000 125.560000 0
Ecuador 789 14 3 -1.831200 -78.183400 0
Egypt 327 14 56 26.820600 30.802500 0
El Salvador 3 0 0 13.794200 -88.896500 0
Equatorial Guinea 6 0 0 1.650800 10.267900 0
Eritrea 1 0 0 15.179400 39.782300 0
Estonia 326 0 2 58.595300 25.013600 0
Eswatini 4 0 0 -26.522500 31.465900 0
Ethiopia 11 0 4 9.145000 40.489700 0
Fiji 2 0 0 -17.713400 178.065000 0
Finland 626 1 10 61.924100 25.748200 0
French Guiana 18 0 6 3.933900 -53.125800 0
Gabon 5 1 0 -0.803700 11.609400 0
Gambia, The 1 0 0 13.443200 -15.310100 0
Georgia 54 0 3 42.315400 43.356900 0
Ghana 24 1 0 7.946500 -1.023200 0
Greece 624 15 19 39.074200 21.824300 0
Greenland 0 0 0 72.000000 -40.000000 0
Grenada 1 0 0 12.116500 -61.679000 0
Guadeloupe 56 0 0 16.265000 -61.551000 0
Guam 0 1 0 13.444300 144.793700 0
Guatemala 19 1 0 15.783500 -90.230800 0
Guernsey 0 0 0 49.450000 -2.580000 0
Guinea 2 0 0 9.945600 -9.696600 0
Guyana 7 1 0 4.860400 -58.930200 0
Haiti 2 0 0 18.971200 -72.285200 0
Holy See 1 0 0 41.902900 12.453400 0
Honduras 26 0 0 15.200000 -86.241900 0
Hungary 131 6 16 47.162500 19.503300 0
Iceland 568 1 36 64.963100 -19.020800 0
India 396 7 27 20.593700 78.962900 0
Indonesia 514 48 29 -0.789300 113.921300 0
Iraq 233 20 57 33.223200 43.679300 0
Ireland 906 4 5 53.142400 -7.692100 0
Israel 1071 1 37 31.046100 34.851600 0
Jamaica 16 1 2 18.109600 -77.297500 0
Japan 1086 40 235 36.204800 138.252900 0
Jersey 0 0 0 49.190000 -2.110000 0
Jordan 112 0 1 30.585200 36.238400 0
Kazakhstan 60 0 0 48.019600 66.923700 0
Kenya 15 0 0 -0.023600 37.906200 0
Korea, South 8897 104 2909 35.907800 127.766900 0
Kosovo 2 0 0 42.602600 20.903000 0
Kuwait 188 0 27 29.311700 47.481800 0
Kyrgyzstan 14 0 0 41.204400 74.766100 0
Latvia 139 0 1 56.879600 24.603200 0
Lebanon 248 4 8 33.854700 35.862300 0
Liberia 3 0 0 6.428100 -9.429500 0
Liechtenstein 37 0 0 47.166000 9.555400 0
Lithuania 131 1 1 55.169400 23.881300 0
Luxembourg 798 8 6 49.815300 6.129600 0
Madagascar 3 0 0 -18.766900 46.869100 0
Malaysia 1306 10 139 4.210500 101.975800 0
Maldives 13 0 0 3.202800 73.220700 0
Malta 90 0 2 35.937500 14.375400 0
Martinique 37 1 0 14.641500 -61.024200 0
Mauritania 2 0 0 21.007900 -10.940800 0
Mauritius 18 1 0 -20.348400 57.552200 0
Mayotte 11 0 0 -12.827500 45.166200 0
Mexico 251 2 4 23.634500 -102.552800 0
Moldova 94 1 1 47.411600 28.369900 0
Monaco 23 0 1 43.738400 7.424600 0
Mongolia 10 0 0 46.862500 103.846700 0
Montenegro 21 0 0 42.708700 19.374400 0
Morocco 115 4 3 31.791700 -7.092600 0
Mozambique 1 0 0 -18.665700 35.529600 0
Namibia 3 0 0 -22.957600 18.490400 0
Nepal 2 0 1 28.394900 84.124000 0
Netherlands 4216 180 2 23.716450 -49.180450 0
New Zealand 66 0 0 -40.900600 174.886000 0
Nicaragua 2 0 0 12.865400 -85.207200 0
Niger 2 0 0 17.607800 8.081700 0
Nigeria 30 0 2 9.082000 8.675300 0
North Macedonia 114 1 1 41.608600 21.745300 0
Norway 2383 7 1 60.472000 8.468900 0
Oman 55 0 17 21.473500 55.975400 0
Pakistan 776 5 5 30.375300 69.345100 0
Panama 245 3 0 8.538000 -80.782100 0
Papua New Guinea 1 0 0 -6.315000 143.955500 0
Paraguay 22 1 0 -23.442500 -58.443800 0
Peru 363 5 1 -9.190000 -75.015200 0
Philippines 380 25 17 12.879700 121.774000 0
Poland 634 7 1 51.919400 19.145100 0
Portugal 1600 14 5 39.399900 -8.224500 0
Puerto Rico 0 1 0 18.200000 -66.500000 0
Qatar 494 0 33 25.354800 51.183900 0
Republic of the Congo 0 0 0 -1.440000 15.556000 0
Reunion 47 0 0 -21.115100 55.536400 0
Romania 433 3 64 45.943200 24.966800 0
Russia 367 0 16 61.524000 105.318800 0
Rwanda 19 0 0 -1.940300 29.873900 0
Saint Lucia 2 0 0 13.909400 -60.978900 0
Saint Vincent and the Grenadines 1 0 0 12.984300 -61.287200 0
San Marino 160 20 4 43.942400 12.457800 0
Saudi Arabia 511 0 16 23.885900 45.079200 0
Senegal 67 0 5 14.497400 -14.452400 0
Serbia 222 2 1 44.016500 21.005900 0
Seychelles 7 0 0 -4.679600 55.492000 0
Singapore 455 2 144 1.352100 103.819800 0
Slovakia 185 1 7 48.669000 19.699000 0
Slovenia 414 2 0 46.151200 14.995500 0
Somalia 1 0 0 5.152100 46.199600 0
South Africa 274 0 0 -30.559500 22.937500 0
Sri Lanka 82 0 3 7.873100 80.771800 0
Sudan 2 1 0 12.862800 30.217600 0
Suriname 5 0 0 3.919300 -56.027800 0
Sweden 1934 21 16 60.128200 18.643500 0
Switzerland 7245 98 131 46.818200 8.227500 0
Syria 1 0 0 34.802100 38.996800 0
Taiwan* 169 2 28 23.700000 121.000000 0
Tanzania 12 0 0 -6.369000 34.888800 0
Thailand 599 1 44 15.870000 100.992500 0
The Bahamas 0 0 0 24.250000 -76.000000 0
The Gambia 0 0 0 13.466700 -16.600000 0
Timor-Leste 1 0 0 -8.874200 125.727500 0
Togo 16 0 1 8.619500 0.824800 0
Trinidad and Tobago 50 0 1 10.691800 -61.222500 0
Tunisia 75 3 1 33.886900 9.537500 0
Turkey 1236 30 0 38.963700 35.243300 0
Uganda 1 0 0 1.373300 32.290300 0
Ukraine 73 3 1 48.379400 31.165600 0
United Arab Emirates 153 2 38 23.424100 53.847800 0
United Kingdom 5741 282 67 37.641557 -31.984943 0
Uruguay 135 0 0 -32.522800 -55.765800 0
Uzbekistan 43 0 0 41.377500 64.585300 0
Venezuela 70 0 15 6.423800 -66.589700 0
Vietnam 113 0 17 14.058300 108.277200 0
Zambia 3 0 0 -13.133900 27.849300 0
Zimbabwe 3 0 0 -19.015400 29.154900 0