sapor 0.1b1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Area Class Diagram.dia +0 -0
- data/Area Class Diagram.png +0 -0
- data/Class Diagram.dia +0 -0
- data/Class Diagram.png +0 -0
- data/Examples.md +361 -0
- data/LICENSE +674 -0
- data/README.md +70 -0
- data/Rakefile +18 -0
- data/Technical Documentation.md +14 -0
- data/bin/create_installation_package.sh +49 -0
- data/bin/install.sh +45 -0
- data/bin/sapor.rb +22 -0
- data/bin/sapor.sh +105 -0
- data/lib/sapor.rb +44 -0
- data/lib/sapor/binomials_cache.rb +45 -0
- data/lib/sapor/combinations_distribution.rb +180 -0
- data/lib/sapor/dichotomies.rb +98 -0
- data/lib/sapor/dichotomy.rb +138 -0
- data/lib/sapor/first_past_the_post.rb +78 -0
- data/lib/sapor/leveled_proportional.rb +64 -0
- data/lib/sapor/log4r_logger.rb +49 -0
- data/lib/sapor/log_facade.rb +40 -0
- data/lib/sapor/number_formatter.rb +45 -0
- data/lib/sapor/poll.rb +137 -0
- data/lib/sapor/polychotomy.rb +359 -0
- data/lib/sapor/proportional.rb +128 -0
- data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
- data/lib/sapor/regional_data/area.rb +80 -0
- data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
- data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
- data/lib/sapor/regional_data/catalonia.rb +90 -0
- data/lib/sapor/regional_data/norway.rb +408 -0
- data/lib/sapor/regional_data/united_kingdom.rb +1075 -0
- data/lib/sapor/regional_data/utopia.rb +66 -0
- data/sapor.gemspec +35 -0
- data/spec/integration/area_spec.rb +28 -0
- data/spec/integration/poll_spec.rb +107 -0
- data/spec/integration/sample.poll +7 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/area_spec.rb +115 -0
- data/spec/unit/binomials_cache_spec.rb +34 -0
- data/spec/unit/catalonia_spec.rb +82 -0
- data/spec/unit/combinations_distribution_spec.rb +241 -0
- data/spec/unit/denominators_spec.rb +34 -0
- data/spec/unit/dichotomies_spec.rb +154 -0
- data/spec/unit/dichotomy_spec.rb +320 -0
- data/spec/unit/first_past_the_post_spec.rb +53 -0
- data/spec/unit/leveled_proportional_spec.rb +51 -0
- data/spec/unit/norway_spec.rb +47 -0
- data/spec/unit/number_formatter_spec.rb +173 -0
- data/spec/unit/poll_spec.rb +105 -0
- data/spec/unit/polychotomy_spec.rb +332 -0
- data/spec/unit/proportional_spec.rb +86 -0
- data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
- metadata +119 -0
@@ -0,0 +1,90 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
+
# Copyright (C) 2014 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
+
#
|
6
|
+
# This file is part of SAPoR.
|
7
|
+
#
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
+
# version.
|
12
|
+
#
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
+
#
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
+
#
|
19
|
+
|
20
|
+
module Sapor
|
21
|
+
#
|
22
|
+
# The regional data for Catalonia.
|
23
|
+
#
|
24
|
+
class Catalonia < Area
|
25
|
+
def area_code
|
26
|
+
'ES-CT'
|
27
|
+
end
|
28
|
+
|
29
|
+
def coalitions
|
30
|
+
[['Junts pel Sí'],
|
31
|
+
['Junts pel Sí',
|
32
|
+
"Candidatura d'Unitat Popular – Alternativa d'Esquerres"]]
|
33
|
+
end
|
34
|
+
|
35
|
+
def no_of_seats
|
36
|
+
SEAT_DISTRIBUTION.values.inject(:+)
|
37
|
+
end
|
38
|
+
|
39
|
+
def overall_election_results_of_2012_adapted_to_2015
|
40
|
+
if @overall_election_results_of_2012_adapted_to_2015.nil?
|
41
|
+
@overall_election_results_of_2012_adapted_to_2015 = \
|
42
|
+
summarize_election_results(election_results_of_2012_adapted_to_2015)
|
43
|
+
end
|
44
|
+
@overall_election_results_of_2012_adapted_to_2015
|
45
|
+
end
|
46
|
+
|
47
|
+
def population_size
|
48
|
+
# Voter turnout in 2012
|
49
|
+
# Source: Catalonian parliamentary election, 2012, Wikipedia, retrieved on
|
50
|
+
# 22 July 2015.
|
51
|
+
# URL: https://en.wikipedia.org/wiki/Catalonian_parliamentary_election,_2012
|
52
|
+
3_668_310
|
53
|
+
end
|
54
|
+
|
55
|
+
def seats(simulation)
|
56
|
+
electoral_system.project(simulation)
|
57
|
+
end
|
58
|
+
|
59
|
+
def threshold
|
60
|
+
THRESHOLD
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
SEAT_DISTRIBUTION = { 'Barcelona' => 85, 'Girona' => 17, 'Lleida' => 15,
|
66
|
+
'Tarragona' => 18 }
|
67
|
+
|
68
|
+
THRESHOLD = 0.03
|
69
|
+
|
70
|
+
def election_results_of_2012_adapted_to_2015
|
71
|
+
if @election_results_of_2012_adapted_to_2015.nil?
|
72
|
+
@election_results_of_2012_adapted_to_2015 = load_election_results( \
|
73
|
+
'catalonia-2012-2015.psv')
|
74
|
+
end
|
75
|
+
@election_results_of_2012_adapted_to_2015
|
76
|
+
end
|
77
|
+
|
78
|
+
def electoral_system
|
79
|
+
if @electoral_system.nil?
|
80
|
+
@electoral_system = Proportional.new( \
|
81
|
+
overall_election_results_of_2012_adapted_to_2015,
|
82
|
+
election_results_of_2012_adapted_to_2015,
|
83
|
+
SEAT_DISTRIBUTION,
|
84
|
+
DhondtDenominators,
|
85
|
+
THRESHOLD)
|
86
|
+
end
|
87
|
+
@electoral_system
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,408 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
#
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
+
# Copyright (C) 2014 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
+
#
|
6
|
+
# This file is part of SAPoR.
|
7
|
+
#
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
+
# version.
|
12
|
+
#
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
+
#
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
+
#
|
19
|
+
|
20
|
+
module Sapor
|
21
|
+
#
|
22
|
+
# The regional data for Norway.
|
23
|
+
#
|
24
|
+
class Norway
|
25
|
+
include Singleton
|
26
|
+
|
27
|
+
# Source: NSD European Election Database, Parliamentary election of 2013,\
|
28
|
+
# retrieved on 14 April 2015.
|
29
|
+
# URL: http://eed.nsd.uib.no/webview/index.jsp?stubs=nuts_id&study=http%3A%2F%2F129.177.90.166%3A80%2Fobj%2FfStudy%2Fnopa2013&virtualslice=pv_p_value&measuretype=4&headers=party_name_org&mode=cube&v=2&party_name_orgsubset=1+-+9&cube=http%3A%2F%2F129.177.90.166%3A80%2Fobj%2FfCube%2Fnopa2013_C1&nuts_idsubset=NO%2CNO011+-+NO073&virtualsubset=pv_p_value&layers=virtual&measure=common&top=yes
|
30
|
+
LAST_ELECTION_RESULT = { 'Arbeiderpartiet' => 874_769,
|
31
|
+
'Høyre' => 760_232,
|
32
|
+
'Fremskrittspartiet' => 463_560,
|
33
|
+
'Kristelig Folkeparti' => 158_475,
|
34
|
+
'Senterpartiet' => 155_357,
|
35
|
+
'Venstre' => 148_275,
|
36
|
+
'Sosialistisk Venstreparti' => 116_021,
|
37
|
+
'Miljøpartiet de Grønne' => 79_152,
|
38
|
+
'Rødt' => 30_751,
|
39
|
+
'De Kristne' => 17_731,
|
40
|
+
'Pensjonistpartiet' => 11_865,
|
41
|
+
'Piratpartiet' => 9_869,
|
42
|
+
'Kystpartiet' => 3_311,
|
43
|
+
'Demokratene i Norge' => 2_214,
|
44
|
+
'Kristent Samlingsparti' => 1_722,
|
45
|
+
'Det Liberale Folkepartiet' => 909,
|
46
|
+
'Norges Kommunistiske Parti' => 611,
|
47
|
+
'Sykehus til Alta' => 467,
|
48
|
+
'Samfunnspartiet' => 295,
|
49
|
+
'Folkeliste mot oljeboring i Lofoten, Vesterålen' \
|
50
|
+
' og Senja' => 268,
|
51
|
+
'Folkemakten' => 175 }
|
52
|
+
|
53
|
+
# Source: NSD European Election Database, Parliamentary election of 2013,
|
54
|
+
# retrieved on 14 April 2015.
|
55
|
+
# URL: http://eed.nsd.uib.no/webview/index.jsp?stubs=nuts_id&study=http%3A%2F%2F129.177.90.166%3A80%2Fobj%2FfStudy%2Fnopa2013&virtualslice=pv_p_value&measuretype=4&headers=party_name_org&mode=cube&v=2&party_name_orgsubset=1+-+9&cube=http%3A%2F%2F129.177.90.166%3A80%2Fobj%2FfCube%2Fnopa2013_C1&nuts_idsubset=NO%2CNO011+-+NO073&virtualsubset=pv_p_value&layers=virtual&measure=common&top=yes
|
56
|
+
LAST_DETAILED_ELECTION_RESULT = {
|
57
|
+
'Akershus' => { 'Arbeiderpartiet' => 91_364,
|
58
|
+
'Høyre' => 108_860,
|
59
|
+
'Fremskrittspartiet' => 54_658,
|
60
|
+
'Kristelig Folkeparti' => 10_377,
|
61
|
+
'Senterpartiet' => 8_111,
|
62
|
+
'Venstre' => 20_217,
|
63
|
+
'Sosialistisk Venstreparti' => 11_305,
|
64
|
+
'Miljøpartiet de Grønne' => 9_804,
|
65
|
+
'Rødt' => 2_365,
|
66
|
+
'De Kristne' => 792,
|
67
|
+
'Pensjonistpartiet' => 1_557,
|
68
|
+
'Piratpartiet' => 1_106,
|
69
|
+
'Kystpartiet' => 149,
|
70
|
+
'Demokratene i Norge' => 115,
|
71
|
+
'Kristent Samlingsparti' => 197,
|
72
|
+
'Det Liberale Folkepartiet' => 195,
|
73
|
+
'Samfunnspartiet' => 77 },
|
74
|
+
'Aust-Agder' => { 'Arbeiderpartiet' => 17_623,
|
75
|
+
'Høyre' => 16_303,
|
76
|
+
'Fremskrittspartiet' => 11_278,
|
77
|
+
'Kristelig Folkeparti' => 7_019,
|
78
|
+
'Senterpartiet' => 2_815,
|
79
|
+
'Venstre' => 3_033,
|
80
|
+
'Sosialistisk Venstreparti' => 1_652,
|
81
|
+
'Miljøpartiet de Grønne' => 1_242,
|
82
|
+
'Rødt' => 345,
|
83
|
+
'De Kristne' => 862,
|
84
|
+
'Pensjonistpartiet' => 354,
|
85
|
+
'Piratpartiet' => 176,
|
86
|
+
'Kystpartiet' => 35,
|
87
|
+
'Demokratene i Norge' => 46,
|
88
|
+
'Kristent Samlingsparti' => 117 },
|
89
|
+
'Buskerud' => { 'Arbeiderpartiet' => 47_572,
|
90
|
+
'Høyre' => 43_515,
|
91
|
+
'Fremskrittspartiet' => 27_854,
|
92
|
+
'Kristelig Folkeparti' => 4_863,
|
93
|
+
'Senterpartiet' => 9_110,
|
94
|
+
'Venstre' => 6_913,
|
95
|
+
'Sosialistisk Venstreparti' => 4_094,
|
96
|
+
'Miljøpartiet de Grønne' => 3_345,
|
97
|
+
'Rødt' => 905,
|
98
|
+
'De Kristne' => 736,
|
99
|
+
'Piratpartiet' => 508,
|
100
|
+
'Kystpartiet' => 135,
|
101
|
+
'Demokratene i Norge' => 80,
|
102
|
+
'Kristent Samlingsparti' => 125,
|
103
|
+
'Samfunnspartiet' => 56 },
|
104
|
+
'Finnmark' => { 'Arbeiderpartiet' => 15_003,
|
105
|
+
'Høyre' => 8_032,
|
106
|
+
'Fremskrittspartiet' => 6_038,
|
107
|
+
'Kristelig Folkeparti' => 1_117,
|
108
|
+
'Senterpartiet' => 1_403,
|
109
|
+
'Venstre' => 1_359,
|
110
|
+
'Sosialistisk Venstreparti' => 1_952,
|
111
|
+
'Miljøpartiet de Grønne' => 844,
|
112
|
+
'Rødt' => 351,
|
113
|
+
'De Kristne' => 335,
|
114
|
+
'Piratpartiet' => 144,
|
115
|
+
'Kystpartiet' => 550,
|
116
|
+
'Demokratene i Norge' => 23,
|
117
|
+
'Kristent Samlingsparti' => 41,
|
118
|
+
'Sykehus til Alta' => 467 },
|
119
|
+
'Hedmark' => { 'Arbeiderpartiet' => 48_694,
|
120
|
+
'Høyre' => 20_600,
|
121
|
+
'Fremskrittspartiet' => 15_316,
|
122
|
+
'Kristelig Folkeparti' => 2_871,
|
123
|
+
'Senterpartiet' => 11_483,
|
124
|
+
'Venstre' => 3_805,
|
125
|
+
'Sosialistisk Venstreparti' => 4_393,
|
126
|
+
'Miljøpartiet de Grønne' => 2_224,
|
127
|
+
'Rødt' => 773,
|
128
|
+
'De Kristne' => 414,
|
129
|
+
'Pensjonistpartiet' => 1_719,
|
130
|
+
'Piratpartiet' => 311,
|
131
|
+
'Kystpartiet' => 57,
|
132
|
+
'Demokratene i Norge' => 63 },
|
133
|
+
'Hordaland' => { 'Arbeiderpartiet' => 71_216,
|
134
|
+
'Høyre' => 89_682,
|
135
|
+
'Fremskrittspartiet' => 43_357,
|
136
|
+
'Kristelig Folkeparti' => 22_114,
|
137
|
+
'Senterpartiet' => 12_490,
|
138
|
+
'Venstre' => 16_614,
|
139
|
+
'Sosialistisk Venstreparti' => 14_143,
|
140
|
+
'Miljøpartiet de Grønne' => 9_171,
|
141
|
+
'Rødt' => 2_687,
|
142
|
+
'De Kristne' => 2_422,
|
143
|
+
'Pensjonistpartiet' => 631,
|
144
|
+
'Piratpartiet' => 1_062,
|
145
|
+
'Kystpartiet' => 267,
|
146
|
+
'Demokratene i Norge' => 275,
|
147
|
+
'Norges Kommunistiske Parti' => 127,
|
148
|
+
'Folkemakten' => 175 },
|
149
|
+
'Møre og Romsdal' => { 'Arbeiderpartiet' => 36_048,
|
150
|
+
'Høyre' => 37_594,
|
151
|
+
'Fremskrittspartiet' => 28_746,
|
152
|
+
'Kristelig Folkeparti' => 12_786,
|
153
|
+
'Senterpartiet' => 11_749,
|
154
|
+
'Venstre' => 7_965,
|
155
|
+
'Sosialistisk Venstreparti' => 3_532,
|
156
|
+
'Miljøpartiet de Grønne' => 1_963,
|
157
|
+
'Rødt' => 642,
|
158
|
+
'De Kristne' => 1_534,
|
159
|
+
'Piratpartiet' => 479,
|
160
|
+
'Kystpartiet' => 159,
|
161
|
+
'Demokratene i Norge' => 94 },
|
162
|
+
'Nord-Trøndelag' => { 'Arbeiderpartiet' => 32_054,
|
163
|
+
'Høyre' => 11_128,
|
164
|
+
'Fremskrittspartiet' => 9_869,
|
165
|
+
'Kristelig Folkeparti' => 2_707,
|
166
|
+
'Senterpartiet' => 12_796,
|
167
|
+
'Venstre' => 3_158,
|
168
|
+
'Sosialistisk Venstreparti' => 2_596,
|
169
|
+
'Miljøpartiet de Grønne' => 1_051,
|
170
|
+
'Rødt' => 423,
|
171
|
+
'De Kristne' => 283,
|
172
|
+
'Piratpartiet' => 209,
|
173
|
+
'Kystpartiet' => 81,
|
174
|
+
'Demokratene i Norge' => 38,
|
175
|
+
'Kristent Samlingsparti' => 107 },
|
176
|
+
'Nordland' => { 'Arbeiderpartiet' => 46_743,
|
177
|
+
'Høyre' => 28_271,
|
178
|
+
'Fremskrittspartiet' => 25_020,
|
179
|
+
'Kristelig Folkeparti' => 4_886,
|
180
|
+
'Senterpartiet' => 9_237,
|
181
|
+
'Venstre' => 4_938,
|
182
|
+
'Sosialistisk Venstreparti' => 6_907,
|
183
|
+
'Miljøpartiet de Grønne' => 2_653,
|
184
|
+
'Rødt' => 2_164,
|
185
|
+
'De Kristne' => 698,
|
186
|
+
'Pensjonistpartiet' => 416,
|
187
|
+
'Piratpartiet' => 451,
|
188
|
+
'Kystpartiet' => 424,
|
189
|
+
'Demokratene i Norge' => 60,
|
190
|
+
'Norges Kommunistiske Parti' => 58,
|
191
|
+
'Samfunnspartiet' => 92,
|
192
|
+
'Folkeliste mot oljeboring i Lofoten, Vesterålen og' \
|
193
|
+
' Senja' => 268 },
|
194
|
+
'Oppland' => { 'Arbeiderpartiet' => 44_050,
|
195
|
+
'Høyre' => 20_537,
|
196
|
+
'Fremskrittspartiet' => 13_683,
|
197
|
+
'Kristelig Folkeparti' => 3_418,
|
198
|
+
'Senterpartiet' => 13_162,
|
199
|
+
'Venstre' => 4_248,
|
200
|
+
'Sosialistisk Venstreparti' => 3_165,
|
201
|
+
'Miljøpartiet de Grønne' => 2_583,
|
202
|
+
'Rødt' => 817,
|
203
|
+
'De Kristne' => 460,
|
204
|
+
'Pensjonistpartiet' => 802,
|
205
|
+
'Piratpartiet' => 298,
|
206
|
+
'Kystpartiet' => 74,
|
207
|
+
'Demokratene i Norge' => 54,
|
208
|
+
'Det Liberale Folkepartiet' => 58 },
|
209
|
+
'Oslo' => { 'Arbeiderpartiet' => 106_001,
|
210
|
+
'Høyre' => 103_834,
|
211
|
+
'Fremskrittspartiet' => 40_660,
|
212
|
+
'Kristelig Folkeparti' => 9_850,
|
213
|
+
'Senterpartiet' => 2_963,
|
214
|
+
'Venstre' => 28_619,
|
215
|
+
'Sosialistisk Venstreparti' => 21_924,
|
216
|
+
'Miljøpartiet de Grønne' => 19_356,
|
217
|
+
'Rødt' => 11_133,
|
218
|
+
'De Kristne' => 734,
|
219
|
+
'Pensjonistpartiet' => 1_172,
|
220
|
+
'Piratpartiet' => 1_357,
|
221
|
+
'Kystpartiet' => 126,
|
222
|
+
'Demokratene i Norge' => 236,
|
223
|
+
'Kristent Samlingsparti' => 97,
|
224
|
+
'Det Liberale Folkepartiet' => 267,
|
225
|
+
'Norges Kommunistiske Parti' => 143,
|
226
|
+
'Samfunnspartiet' => 70 },
|
227
|
+
'Rogaland' => { 'Arbeiderpartiet' => 54_462,
|
228
|
+
'Høyre' => 72_470,
|
229
|
+
'Fremskrittspartiet' => 45_082,
|
230
|
+
'Kristelig Folkeparti' => 25_585,
|
231
|
+
'Senterpartiet' => 12_621,
|
232
|
+
'Venstre' => 10_827,
|
233
|
+
'Sosialistisk Venstreparti' => 7_908,
|
234
|
+
'Miljøpartiet de Grønne' => 5_267,
|
235
|
+
'Rødt' => 1_060,
|
236
|
+
'De Kristne' => 2_296,
|
237
|
+
'Pensjonistpartiet' => 1_191,
|
238
|
+
'Piratpartiet' => 865,
|
239
|
+
'Kystpartiet' => 202,
|
240
|
+
'Demokratene i Norge' => 115,
|
241
|
+
'Kristent Samlingsparti' => 351,
|
242
|
+
'Det Liberale Folkepartiet' => 226,
|
243
|
+
'Norges Kommunistiske Parti' => 67 },
|
244
|
+
'Sogn og Fjordane' => { 'Arbeiderpartiet' => 17_183,
|
245
|
+
'Høyre' => 11_635,
|
246
|
+
'Fremskrittspartiet' => 6_608,
|
247
|
+
'Kristelig Folkeparti' => 4_952,
|
248
|
+
'Senterpartiet' => 12_619,
|
249
|
+
'Venstre' => 3_883,
|
250
|
+
'Sosialistisk Venstreparti' => 2_076,
|
251
|
+
'Miljøpartiet de Grønne' => 1_032,
|
252
|
+
'Rødt' => 386,
|
253
|
+
'De Kristne' => 515,
|
254
|
+
'Piratpartiet' => 151,
|
255
|
+
'Kystpartiet' => 100,
|
256
|
+
'Demokratene i Norge' => 32 },
|
257
|
+
'Sør-Trøndelag' => { 'Arbeiderpartiet' => 64_351,
|
258
|
+
'Høyre' => 38_930,
|
259
|
+
'Fremskrittspartiet' => 23_871,
|
260
|
+
'Kristelig Folkeparti' => 6_562,
|
261
|
+
'Senterpartiet' => 11_351,
|
262
|
+
'Venstre' => 9_460,
|
263
|
+
'Sosialistisk Venstreparti' => 9_992,
|
264
|
+
'Miljøpartiet de Grønne' => 5_540,
|
265
|
+
'Rødt' => 1_667,
|
266
|
+
'De Kristne' => 522,
|
267
|
+
'Pensjonistpartiet' => 1_590,
|
268
|
+
'Piratpartiet' => 857,
|
269
|
+
'Kystpartiet' => 139,
|
270
|
+
'Demokratene i Norge' => 210,
|
271
|
+
'Kristent Samlingsparti' => 129,
|
272
|
+
'Det Liberale Folkepartiet' => 98,
|
273
|
+
'Norges Kommunistiske Parti' => 97 },
|
274
|
+
'Telemark' => { 'Arbeiderpartiet' => 35_963,
|
275
|
+
'Høyre' => 21_300,
|
276
|
+
'Fremskrittspartiet' => 18_564,
|
277
|
+
'Kristelig Folkeparti' => 6_610,
|
278
|
+
'Senterpartiet' => 4_360,
|
279
|
+
'Venstre' => 3_393,
|
280
|
+
'Sosialistisk Venstreparti' => 3_192,
|
281
|
+
'Miljøpartiet de Grønne' => 2_116,
|
282
|
+
'Rødt' => 884,
|
283
|
+
'De Kristne' => 1_017,
|
284
|
+
'Piratpartiet' => 239,
|
285
|
+
'Kystpartiet' => 68,
|
286
|
+
'Demokratene i Norge' => 56,
|
287
|
+
'Kristent Samlingsparti' => 116 },
|
288
|
+
'Troms' => { 'Arbeiderpartiet' => 27_436,
|
289
|
+
'Høyre' => 19_663,
|
290
|
+
'Fremskrittspartiet' => 17_315,
|
291
|
+
'Kristelig Folkeparti' => 3_659,
|
292
|
+
'Senterpartiet' => 5_636,
|
293
|
+
'Venstre' => 3_687,
|
294
|
+
'Sosialistisk Venstreparti' => 5_688,
|
295
|
+
'Miljøpartiet de Grønne' => 2_190,
|
296
|
+
'Rødt' => 1_608,
|
297
|
+
'De Kristne' => 322,
|
298
|
+
'Piratpartiet' => 382,
|
299
|
+
'Kystpartiet' => 477,
|
300
|
+
'Demokratene i Norge' => 37,
|
301
|
+
'Kristent Samlingsparti' => 92,
|
302
|
+
'Norges Kommunistiske Parti' => 78 },
|
303
|
+
'Vest-Agder' => { 'Arbeiderpartiet' => 23_227,
|
304
|
+
'Høyre' => 26_818,
|
305
|
+
'Fremskrittspartiet' => 17_863,
|
306
|
+
'Kristelig Folkeparti' => 13_536,
|
307
|
+
'Senterpartiet' => 2_962,
|
308
|
+
'Venstre' => 4_205,
|
309
|
+
'Sosialistisk Venstreparti' => 2_568,
|
310
|
+
'Miljøpartiet de Grønne' => 2_196,
|
311
|
+
'Rødt' => 460,
|
312
|
+
'De Kristne' => 1_975,
|
313
|
+
'Pensjonistpartiet' => 881,
|
314
|
+
'Piratpartiet' => 284,
|
315
|
+
'Kystpartiet' => 43,
|
316
|
+
'Demokratene i Norge' => 516,
|
317
|
+
'Det Liberale Folkepartiet' => 65,
|
318
|
+
'Norges Kommunistiske Parti' => 41 },
|
319
|
+
'Vestfold' => { 'Arbeiderpartiet' => 40_869,
|
320
|
+
'Høyre' => 41_357,
|
321
|
+
'Fremskrittspartiet' => 26_977,
|
322
|
+
'Kristelig Folkeparti' => 6_735,
|
323
|
+
'Senterpartiet' => 4_084,
|
324
|
+
'Venstre' => 6_228,
|
325
|
+
'Sosialistisk Venstreparti' => 5_266,
|
326
|
+
'Miljøpartiet de Grønne' => 3_407,
|
327
|
+
'Rødt' => 932,
|
328
|
+
'De Kristne' => 691,
|
329
|
+
'Pensjonistpartiet' => 596,
|
330
|
+
'Piratpartiet' => 474,
|
331
|
+
'Kystpartiet' => 157,
|
332
|
+
'Demokratene i Norge' => 65,
|
333
|
+
'Kristent Samlingsparti' => 205 },
|
334
|
+
'Østfold' => { 'Arbeiderpartiet' => 54_910,
|
335
|
+
'Høyre' => 39_703,
|
336
|
+
'Fremskrittspartiet' => 30_801,
|
337
|
+
'Kristelig Folkeparti' => 8_828,
|
338
|
+
'Senterpartiet' => 6_405,
|
339
|
+
'Venstre' => 5_723,
|
340
|
+
'Sosialistisk Venstreparti' => 3_668,
|
341
|
+
'Miljøpartiet de Grønne' => 3_168,
|
342
|
+
'Rødt' => 1_149,
|
343
|
+
'De Kristne' => 1_123,
|
344
|
+
'Pensjonistpartiet' => 956,
|
345
|
+
'Piratpartiet' => 516,
|
346
|
+
'Kystpartiet' => 68,
|
347
|
+
'Demokratene i Norge' => 99,
|
348
|
+
'Kristent Samlingsparti' => 145 } }
|
349
|
+
|
350
|
+
# Source: Valg i Norge, Valgkretser, Wikipedia, retrieved on 1 May 2015.
|
351
|
+
# URL: http://no.wikipedia.org/wiki/Valg_i_Norge#Valgkretser
|
352
|
+
DIRECT_SEAT_DISTRIBUTION = { 'Akershus' => 16,
|
353
|
+
'Aust-Agder' => 3,
|
354
|
+
'Buskerud' => 8,
|
355
|
+
'Finnmark' => 4,
|
356
|
+
'Hedmark' => 6,
|
357
|
+
'Hordaland' => 15,
|
358
|
+
'Møre og Romsdal' => 8,
|
359
|
+
'Nord-Trøndelag' => 4,
|
360
|
+
'Nordland' => 8,
|
361
|
+
'Oppland' => 6,
|
362
|
+
'Oslo' => 18,
|
363
|
+
'Rogaland' => 13,
|
364
|
+
'Sogn og Fjordane' => 3,
|
365
|
+
'Sør-Trøndelag' => 9,
|
366
|
+
'Telemark' => 5,
|
367
|
+
'Troms' => 5,
|
368
|
+
'Vest-Agder' => 5,
|
369
|
+
'Vestfold' => 6,
|
370
|
+
'Østfold' => 8 }
|
371
|
+
|
372
|
+
# Source: Valg i Norge, Valgkretser, Wikipedia, retrieved on 16 April 2015.
|
373
|
+
# URL: http://no.wikipedia.org/wiki/Valg_i_Norge#Valgkretser
|
374
|
+
NO_OF_LEVELING_SEATS = 19
|
375
|
+
|
376
|
+
LEVELING_THRESHOLD = 0.04
|
377
|
+
|
378
|
+
ELECTORAL_SYSTEM = LeveledProportional.new(LAST_ELECTION_RESULT,
|
379
|
+
LAST_DETAILED_ELECTION_RESULT,
|
380
|
+
DIRECT_SEAT_DISTRIBUTION,
|
381
|
+
NO_OF_LEVELING_SEATS,
|
382
|
+
LEVELING_THRESHOLD,
|
383
|
+
SainteLague14Denominators)
|
384
|
+
|
385
|
+
def area_code
|
386
|
+
'NO'
|
387
|
+
end
|
388
|
+
|
389
|
+
def population_size
|
390
|
+
# Source: NSD European Election Database, Norway, retrieved on 14 April
|
391
|
+
# 2015.
|
392
|
+
# URL: http://www.nsd.uib.no/european_election_database/country/norway/
|
393
|
+
2_836_029
|
394
|
+
end
|
395
|
+
|
396
|
+
def no_of_seats
|
397
|
+
169
|
398
|
+
end
|
399
|
+
|
400
|
+
def threshold
|
401
|
+
0.04
|
402
|
+
end
|
403
|
+
|
404
|
+
def seats(simulation)
|
405
|
+
ELECTORAL_SYSTEM.project(simulation)
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|