Presenting Results

This is a short vignette which explains some functions in COINr for extracting results from the coin. Once the coin is fully built, up to the point of aggregation, an immediate task is to see what the main results are. In composite indicators, the main starting point is often the ranking of units based on the highest level of aggregation, i.e. the index.

While the aggregated data set (the data set created by Aggregate()) has all the aggregate scores in it, it requires a little manipulation to see it in an easy to read format. To help with this, the get_results() function

 library(COINr)
 
 # build full example coin
coin <- build_example_coin(quietly = TRUE)
 
 # get results table
df_results <- get_results(coin, dset = "Aggregated", tab_type = "Aggs")
 
 head(df_results)
 #> uCode Rank Index Conn Sust Physical ConEcFin Political Instit P2P Environ
 #> 1 CHE 1 68.38 62.79 73.98 63.41 32.87 74.78 85.94 56.93 77.21
 #> 2 NLD 2 64.82 61.94 67.70 64.87 46.62 84.55 71.74 41.92 58.73
 #> 3 DNK 3 64.80 57.10 72.51 50.52 30.43 78.13 75.35 51.04 69.83
 #> 4 NOR 4 64.47 57.44 71.50 58.18 25.70 80.03 89.46 33.80 70.90
 #> 5 BEL 5 63.54 63.99 63.09 71.97 48.22 80.84 75.60 43.32 53.01
 #> 6 SWE 6 63.00 53.87 72.12 51.51 23.87 80.98 74.51 38.50 66.37
 #> Social SusEcFin
 #> 1 87.85 56.88
 #> 2 86.58 57.78
 #> 3 86.40 61.29
 #> 4 87.00 56.59
 #> 5 86.17 50.09
 #> 6 87.74 62.27

The output of get_results() is a table sorted by the highest level of aggregation (here, the index), and with the the columns arranged so that the highest level of aggregation is first, working down to lower levels. The function has several arguments, including also_get (names of further columns to attach to the table, such as groups, denominators), tab_type (controlling which columns to output), use (whether to show scores or ranks), and order_by (which column to use to sort the table).

A useful feature is to return ranks of units inside groups. For example, rather than returning scores we can return ranks within GDP per capita groups:

 # get results table
df_results <- get_results(coin, dset = "Aggregated", tab_type = "Aggs", use_group = "GDPpc_group", use = "groupranks")
 
 # see first few entries in "XL" group
 head(df_results[df_results$GDPpc_group == "XL", ])
 #> uCode GDPpc_group Index Conn Sust Physical ConEcFin Political Instit P2P
 #> 1 CHE XL 1 2 1 3 5 8 2 2
 #> 2 NLD XL 2 3 6 2 4 2 10 6
 #> 3 DNK XL 3 6 2 8 6 6 6 5
 #> 4 NOR XL 4 5 4 4 8 4 1 11
 #> 6 SWE XL 5 10 3 7 10 3 8 10
 #> 7 AUT XL 6 7 5 11 7 5 4 4
 #> Environ Social SusEcFin
 #> 1 1 1 8
 #> 2 8 4 7
 #> 3 3 5 5
 #> 4 2 3 10
 #> 6 5 2 3
 #> 7 4 9 2
 # see first few entries in "L" group
 head(df_results[df_results$GDPpc_group == "L", ])
 #> uCode GDPpc_group Index Conn Sust Physical ConEcFin Political Instit P2P
 #> 5 BEL L 1 1 2 1 2 4 7 3
 #> 10 MLT L 2 2 5 3 1 12 4 1
 #> 11 SVN L 3 4 1 2 6 9 6 5
 #> 15 GBR L 4 3 3 4 8 5 5 7
 #> 17 CZE L 5 5 4 9 5 8 10 6
 #> 19 ESP L 6 7 7 7 10 2 3 9
 #> Environ Social SusEcFin
 #> 5 10 1 9
 #> 10 2 10 3
 #> 11 5 3 2
 #> 15 3 2 8
 #> 17 12 9 1
 #> 19 6 6 10

Another function of interest zooms in on a single unit. The get_unit_summary() function returns a summary of a units scores and ranks at specified levels. Typically we can use this to look at a unit’s index scores and scores for the aggregates:

 get_unit_summary(coin, usel = "IND", Levels = c(4,3,2), dset = "Aggregated")
 #> Code Name Score Rank
 #> 1 Index Sustainable Connectivity 39.79 45
 #> 2 Conn Connectivity 28.60 44
 #> 3 Sust Sustainability 50.99 43
 #> 4 Physical Physical 18.78 48
 #> 5 ConEcFin Economic and Financial (Con) 6.38 49
 #> 6 Political Political 51.90 33
 #> 7 Instit Institutional 59.84 37
 #> 8 P2P People to People 6.07 47
 #> 9 Environ Environmental 75.34 6
 #> 10 Social Social 22.74 51
 #> 11 SusEcFin Economic and Financial (Sus) 54.88 36

This is a summary for "IND" (India) at levels 4 (index), 3 (sub-index) and 2 (pillar). It shows the score and rank.

A final function here is get_str_weak(). This gives the "strengths and weaknesses" of a unit, in terms of its indicators with the highest and lowest ranks. This can be particularly useful in "country profiles", for example.

 get_str_weak(coin, dset = "Raw", usel = "ESP")
 #> $Strengths
 #> Code Name Pillar Rank Value
 #> 1 CostImpEx Cost to export/import Instit 1 0.0
 #> 2 TIRcon Signatory of TIR Convention Instit 1 1.0
 #> 3 Tourist Tourist arrivals at national borders P2P 2 75.3
 #> 4 Flights International flights passenger capacity Physical 3 171.0
 #> 5 UNVote UN voting alignment Political 3 43.1
 #> Unit
 #> 1 Current USD
 #> 2 (1 (yes)/0 (no))
 #> 3 Number of people
 #> 4 Thousand seats
 #> 5 Score
 #> 
 #> $Weaknesses
 #> Code Name Pillar
 #> 1 NEET Proportion of youth not in education, employment or training SusEcFin
 #> 2 Lang Common languages users P2P
 #> 3 Forest Net forest loss Environ
 #> 4 TBTs Technical barriers to trade Instit
 #> 5 PubDebt Public debt as a percentage of GDP SusEcFin
 #> Rank Value Unit
 #> 1 33 13.30 Percent
 #> 2 38 5.16 Score
 #> 3 40 6.93 Percent
 #> 4 40 1210.00 Number of measures (initiated, in force)
 #> 5 43 99.30 Percent

The default output is five strengths and five weaknesses. The direction of the indicators is adjusted - see the adjust_direction parameter. A number of other parameters can also be adjusted which help to guide the tables to give sensible values, for example excluding indicators with binary values. See the function documentation for more details.

AltStyle によって変換されたページ (->オリジナル) /