Data from Busola Electorala between 11 Nov 2016 - 21 Nov 2016
This document provides descriptive statistics, offering an overwiew of the data we collected through https://pressone.ro/busola/.
In the top right, there’s a button called Code. If you press Hide All Code, the R code will disappear and you are left with the results. I suggest doing that, it’s easier to read.
library(foreign)
ro <- read.csv("C:/Users/Irina/Desktop/ro2016vaa/Romania 21.11.csv", header = TRUE)
First things first: we want to know how many people went through all 30 statements. We discard the others.
ro <- subset(ro, answered_all_statements != 0)
length(ro$answered_all_statements)
[1] 10402
That leaves us with 10.402 people who were able to see their position in the political landscape after going through all statements. You can your position even if you fill out the tool partially, but the results won’t be accurate.
All the analysis from now on is based on this sample of 10.402.
Let’s see where the users come from:
This is additional data we collect, not asked in the survey
ro$country[ro$country==""] <- NA
table(ro$country)
Algeria Angola Australia Austria
0 1 1 5 32
Belarus Belgium Bosnia and Herzegovina Bulgaria Cameroon
1 88 0 7 1
Canada Cape Verde Colombia Croatia Cyprus
28 1 2 2 1
Czech Republic Denmark Finland France Germany
11 33 2 97 158
Greece Guernsey Hong Kong Hungary Iceland
0 1 2 21 2
India Indonesia Ireland Israel Italy
4 1 12 0 41
Japan Lebanon Liberia Liechtenstein Luxembourg
1 1 1 1 7
Macedonia Malaysia Malta Mexico Monaco
2 1 2 1 1
Morocco Netherlands Nigeria Norway Oman
1 63 3 5 1
Poland Portugal Puerto Rico Qatar Republic of Korea
11 9 1 2 1
Republic of Lithuania Republic of Moldova Romania Saudi Arabia Serbia
2 9 9206 0 4
Singapore Slovak Republic Slovenia South Sudan Spain
3 1 3 1 28
Sri Lanka Sweden Switzerland Taiwan Thailand
1 22 18 1 1
Turkey Ukraine United Arab Emirates United Kingdom United States
2 3 3 258 105
unknown Venezuela Vietnam
37 1 2
Let’s have a look at the demographics. We ask these questions in the beginning of the tool, and quite a few people fill in this information. The variables are collected separatelly for people who took the survey on their phone, that’s why there are two variables for gender. You need to look at the last 2 rows, where coded 0 are females, code 1 are males.
ro$male <- ifelse(ro$background_question_0==0, 1,
ifelse(ro$background_question_0==1, 0,
NA))
ro$malem <- ifelse(ro$background_question_1_is_mobile==0, 1,
ifelse(ro$background_question_1_is_mobile==1, 0,
NA))
ro$male[is.na(ro$male)] <- ro$malem[is.na(ro$male)]
table(ro$male)
0 1
1636 3507
So there are 3507 men and 1636 women. This is quite normal, as men are more interested in politics than women.
Next, age. I’ll create age categories, 18-29 coded 1, 30-49 coded 2, 50-64 coded 3 and 65+ coded 4
ro$age <- 2016 - (ro$background_question_2 + 1910)
ro$age[ro$age < 18] <- NA
ro$age[ro$age >= 18 & ro$age <= 29] <- 1
ro$age[ro$age >= 30 & ro$age <= 49] <- 2
ro$age[ro$age >= 50 & ro$age <= 64] <- 3
ro$age[ro$age >= 65] <- 4
ro$agea <- 2016 - (ro$background_question_3_is_mobile + 1910)
ro$agea[ro$agea < 18] <- NA
ro$agea[ro$agea >= 18 & ro$agea <= 29] <- 1
ro$agea[ro$agea >= 30 & ro$agea <= 49] <- 2
ro$agea[ro$agea >= 50 & ro$agea <= 64] <- 3
ro$agea[ro$agea >= 65] <- 4
ro$age[is.na(ro$age)] <- ro$agea[is.na(ro$age)]
table(ro$age)
1 2 3 4
2279 2469 297 84
I can make smaller age brackets if needed.
We move on to education 0 - no education, 1 - elementary school, 2 - high school, 3 - university degree, master and PhD, 4 - post doctoral studies
ro$edu <- ifelse(ro$background_question_4==0, 0,
ifelse(ro$background_question_4==1, 1,
ifelse(ro$background_question_4==2, 2,
ifelse(ro$background_question_4==4, 4,
ifelse(ro$background_question_4=="Facultate\nMasterat/Doctorat", 3,
ifelse(ro$background_question_4=="Posztgraduális végzettség ", 4,
NA))))))
ro$edum <- ifelse(ro$background_question_5_is_mobile==0, 0,
ifelse(ro$background_question_5_is_mobile==1, 1,
ifelse(ro$background_question_5_is_mobile==2, 2,
ifelse(ro$background_question_5_is_mobile==4, 4,
ifelse(ro$background_question_5_is_mobile=="Facultate\nMasterat/Doctorat", 3,
ifelse(ro$background_question_5_is_mobile=="Posztgraduális végzettség ", 4,
NA))))))
ro$edu[is.na(ro$edu)] <- ro$edum[is.na(ro$edu)]
table(ro$edu)
0 1 2 3 4
17 61 988 3640 323
As expected, mostly highly educated people.
Now, we can see the city where people intend to vote (for this type of election, you can only vote in the electoral circumscription you belong to, which is usually the hometown)
ro$location <- 0
ro$location[is.na(ro$background_question_8)] <- NA # overwrite 0's with NA's if background_question_8 is NA
ro$location[ro$background_question_8==0] <- "Alba"
ro$location[ro$background_question_8==1] <- "Arad"
ro$location[ro$background_question_8==2] <- "Arges"
ro$location[ro$background_question_8==3] <- "Bacau"
ro$location[ro$background_question_8==4] <- "Bihor"
ro$location[ro$background_question_8==5] <- "Bistrita-Nasaud"
ro$location[ro$background_question_8==6] <- "Botosani"
ro$location[ro$background_question_8==7] <- "Brasov"
ro$location[ro$background_question_8==8] <- "Braila"
ro$location[ro$background_question_8==9] <- "Bucuresti"
ro$location[ro$background_question_8==10] <- "Buzau"
ro$location[ro$background_question_8==11] <- "Caras-Severin"
ro$location[ro$background_question_8==12] <- "Calarasi"
ro$location[ro$background_question_8==13] <- "Cluj"
ro$location[ro$background_question_8==14] <- "Constanta"
ro$location[ro$background_question_8==15] <- "Covasna"
ro$location[ro$background_question_8==16] <- "Dambovita"
ro$location[ro$background_question_8==17] <- "Dolj"
ro$location[ro$background_question_8==18] <- "Galati"
ro$location[ro$background_question_8==19] <- "Giurgiu"
ro$location[ro$background_question_8==20] <- "Gorj"
ro$location[ro$background_question_8==21] <- "harghita"
ro$location[ro$background_question_8==22] <- "Hunedoara"
ro$location[ro$background_question_8==23] <- "Ialomita"
ro$location[ro$background_question_8==24] <- "Iasi"
ro$location[ro$background_question_8==25] <- "Ilfov"
ro$location[ro$background_question_8==26] <- "Maramures"
ro$location[ro$background_question_8==27] <- "Mehendinti"
ro$location[ro$background_question_8==28] <- "Mures"
ro$location[ro$background_question_8==29] <- "Neamt"
ro$location[ro$background_question_8==30] <- "Olt"
ro$location[ro$background_question_8==31] <- "Prahova"
ro$location[ro$background_question_8==32] <- "Satu Mare"
ro$location[ro$background_question_8==33] <- "Salaj"
ro$location[ro$background_question_8==34] <- "Sibiu"
ro$location[ro$background_question_8==35] <- "Suceava"
ro$location[ro$background_question_8==36] <- "Teleorman"
ro$location[ro$background_question_8==37] <- "Timis"
ro$location[ro$background_question_8==38] <- "Tulcea"
ro$location[ro$background_question_8==39] <- "Vaslui"
ro$location[ro$background_question_8==40] <- "Valcea"
ro$location[ro$background_question_8==41] <- "Vrancea"
ro$location[ro$background_question_8==42] <- "Strainatate"
ro$locationm <- 0
ro$locationm[is.na(ro$background_question_9_is_mobile)] <- NA # overwrite 0's with NA's if background_question_8 is NA
ro$locationm[ro$background_question_9_is_mobile==0] <- "Alba"
ro$locationm[ro$background_question_9_is_mobile==1] <- "Arad"
ro$locationm[ro$background_question_9_is_mobile==2] <- "Arges"
ro$locationm[ro$background_question_9_is_mobile==3] <- "Bacau"
ro$locationm[ro$background_question_9_is_mobile==4] <- "Bihor"
ro$locationm[ro$background_question_9_is_mobile==5] <- "Bistrita-Nasaud"
ro$locationm[ro$background_question_9_is_mobile==6] <- "Botosani"
ro$locationm[ro$background_question_9_is_mobile==7] <- "Brasov"
ro$locationm[ro$background_question_9_is_mobile==8] <- "Braila"
ro$locationm[ro$background_question_9_is_mobile==9] <- "Bucuresti"
ro$locationm[ro$background_question_9_is_mobile==10] <- "Buzau"
ro$locationm[ro$background_question_9_is_mobile==11] <- "Caras-Severin"
ro$locationm[ro$background_question_9_is_mobile==12] <- "Calarasi"
ro$locationm[ro$background_question_9_is_mobile==13] <- "Cluj"
ro$locationm[ro$background_question_9_is_mobile==14] <- "Constanta"
ro$locationm[ro$background_question_9_is_mobile==15] <- "Covasna"
ro$locationm[ro$background_question_9_is_mobile==16] <- "Dambovita"
ro$locationm[ro$background_question_9_is_mobile==17] <- "Dolj"
ro$locationm[ro$background_question_9_is_mobile==18] <- "Galati"
ro$locationm[ro$background_question_9_is_mobile==19] <- "Giurgiu"
ro$locationm[ro$background_question_9_is_mobile==20] <- "Gorj"
ro$locationm[ro$background_question_9_is_mobile==21] <- "harghita"
ro$locationm[ro$background_question_9_is_mobile==22] <- "Hunedoara"
ro$locationm[ro$background_question_9_is_mobile==23] <- "Ialomita"
ro$locationm[ro$background_question_9_is_mobile==24] <- "Iasi"
ro$locationm[ro$background_question_9_is_mobile==25] <- "Ilfov"
ro$locationm[ro$background_question_9_is_mobile==26] <- "Maramures"
ro$locationm[ro$background_question_9_is_mobile==27] <- "Mehendinti"
ro$locationm[ro$background_question_9_is_mobile==28] <- "Mures"
ro$locationm[ro$background_question_9_is_mobile==29] <- "Neamt"
ro$locationm[ro$background_question_9_is_mobile==30] <- "Olt"
ro$locationm[ro$background_question_9_is_mobile==31] <- "Prahova"
ro$locationm[ro$background_question_9_is_mobile==32] <- "Satu Mare"
ro$locationm[ro$background_question_9_is_mobile==33] <- "Salaj"
ro$locationm[ro$background_question_9_is_mobile==34] <- "Sibiu"
ro$locationm[ro$background_question_9_is_mobile==35] <- "Suceava"
ro$locationm[ro$background_question_9_is_mobile==36] <- "Teleorman"
ro$locationm[ro$background_question_9_is_mobile==37] <- "Timis"
ro$locationm[ro$background_question_9_is_mobile==38] <- "Tulcea"
ro$locationm[ro$background_question_9_is_mobile==39] <- "Vaslui"
ro$locationm[ro$background_question_9_is_mobile==40] <- "Valcea"
ro$locationm[ro$background_question_9_is_mobile==41] <- "Vrancea"
ro$locationm[ro$background_question_9_is_mobile==42] <- "Strainatate"
ro$location[is.na(ro$location)] <- ro$locationm[is.na(ro$location)]
table(ro$location)
Alba Arad Arges Bacau Bihor Bistrita-Nasaud Botosani Braila
81 54 65 57 109 37 21 23
Brasov Bucuresti Buzau Calarasi Caras-Severin Cluj Constanta Covasna
163 1954 53 23 14 532 145 13
Dambovita Dolj Galati Giurgiu Gorj harghita Hunedoara Ialomita
45 67 63 12 25 23 42 26
Iasi Ilfov Maramures Mehendinti Mures Neamt Olt Prahova
237 115 42 24 60 41 25 113
Salaj Satu Mare Sibiu Strainatate Suceava Teleorman Timis Tulcea
20 23 97 330 53 32 243 24
Valcea Vaslui Vrancea
36 30 31
There are 330 people who will vote abroad. now it’s a small sample, maybe later is worth doing some sort of analysis on them.
We break down the location according to regions (NUTS2). I am doing this because the ultimate goal is to weight the data (using census data, trying to make the data more representative)
ro$regiune <- 0
ro$regiune[is.na(ro$location)] <- NA # overwrite 0's with NA's if background_question_8 is NA
# Nord-Vest - RO11; Bihor, Bistrita-Nasaud, Cluj, Maramures, Satu Mare, Salaj
ro$regiune[ro$location=="Bihor"] <- "RO11"
ro$regiune[ro$location=="Cluj"] <- "RO11"
ro$regiune[ro$location=="Bistrita-Nasaud"]<-"RO11"
ro$regiune[ro$location=="Maramures"] <- "RO11"
ro$regiune[ro$location=="Satu Mare"] <- "RO11"
ro$regiune[ro$location=="Salaj"] <- "RO11"
# Centru - RO12; Alba, Brasov, Covasna, Harghita, Mures, Sibiu
ro$regiune[ro$location=="Alba"] <- "RO12"
ro$regiune[ro$location=="Brasov"] <- "RO12"
ro$regiune[ro$location=="Covasna"] <- "RO12"
ro$regiune[ro$location=="Harghita"] <- "RO12"
ro$regiune[ro$location=="Mures"] <- "RO12"
ro$regiune[ro$location=="Sibiu"] <- "RO12"
# Nord-Est - RO21; Bacau, Botosani, Iasi, Neamt, Suceava, Vaslui
ro$regiune[ro$location=="Bacau"] <- "RO21"
ro$regiune[ro$location=="Botosani"] <- "RO21"
ro$regiune[ro$location=="Iasi"] <- "RO21"
ro$regiune[ro$location=="Neamt"] <- "RO21"
ro$regiune[ro$location=="Suceava"] <- "RO21"
ro$regiune[ro$location=="Vaslui"] <- "RO21"
# Sud-Est - RO22; Braila, Buzau, Constanta, Galati, Tulcea, Vrancea
ro$regiune[ro$location=="Braila"] <- "RO22"
ro$regiune[ro$location=="Buzau"] <- "RO22"
ro$regiune[ro$location=="Constanta"] <- "RO22"
ro$regiune[ro$location=="Galati"] <- "RO22"
ro$regiune[ro$location=="Tulcea"] <- "RO22"
ro$regiune[ro$location=="Vrancea"] <- "RO22"
# Sud - Muntenia - RO31; Arges, Calarasi, Dambovita, Giurgiu, Ialomita, Prahova, Teleorman
ro$regiune[ro$location=="Arges"] <- "RO31"
ro$regiune[ro$location=="Calarasi"] <- "RO31"
ro$regiune[ro$location=="Dambovita"] <- "RO31"
ro$regiune[ro$location=="Giurgiu"] <- "RO31"
ro$regiune[ro$location=="Ialomita"] <- "RO31"
ro$regiune[ro$location=="Prahova"] <- "RO31"
ro$regiune[ro$location=="Teleorman"] <- "RO31"
# Bucuresti - Ilfov - RO32; Bucuresti, Ilfov
ro$regiune[ro$location=="Bucuresti"] <- "RO32"
ro$regiune[ro$location=="Ilfov"] <- "RO32"
# Sud-Vest Oltenia - RO41; Dolj, Gorj, Mehedinti, Olt, Valcea
ro$regiune[ro$location=="Dolj"] <- "RO41"
ro$regiune[ro$location=="Gorj"] <- "RO41"
ro$regiune[ro$location=="Mehedinti"] <- "RO41"
ro$regiune[ro$location=="Olt"] <- "RO41"
ro$regiune[ro$location=="Valcea"] <- "RO41"
# Vest - RO42; Arad, Caras-Severin, Hunedoara, Timis
ro$regiune[ro$location=="Arad"] <- "RO42"
ro$regiune[ro$location=="Caras-Severin"]<-"RO42"
ro$regiune[ro$location=="Hunedoara"] <- "RO42"
ro$regiune[ro$location=="Timis"] <- "RO42"
# strainatate = abroad
ro$regiune[ro$location=="Strainatate"] <- "abroad"
ro$regiune[ro$regiune==0] <- NA
table(ro$regiune)
abroad RO11 RO12 RO21 RO22 RO31 RO32 RO41 RO42
330 763 414 439 339 316 2069 153 353
After we have an idea about who the users are and where they come from, let’s look into their political affilition. Here we see for which coalition they voted for in the last parliamentary elections of 2012. Here we miss quite a few users, because they dont remember who they voted for (tipically).
ro$voterec <- 0
ro$voterec[is.na(ro$background_question_10)] <- NA
ro$voterec <- ifelse(ro$background_question_10==0, "USL",
ifelse(ro$background_question_10==1, "ARD",
ifelse(ro$background_question_10==2, "PPDD",
ifelse(ro$background_question_10==3, "UDMR",
ifelse(ro$background_question_10==4, "other",
ifelse(ro$background_question_10==6, "did not vote",
NA))))))
ro$voterecm <- 0
ro$voterecm[is.na(ro$background_question_11_is_mobile)] <- NA
ro$voterecm <- ifelse(ro$background_question_11_is_mobile==0, "USL",
ifelse(ro$background_question_11_is_mobile==1, "ARD",
ifelse(ro$background_question_11_is_mobile==2, "PPDD",
ifelse(ro$background_question_11_is_mobile==3, "UDMR",
ifelse(ro$background_question_11_is_mobile==4, "other",
ifelse(ro$background_question_11_is_mobile==6, "did not vote",
NA))))))
ro$voterec[is.na(ro$voterec)] <- ro$voterecm[is.na(ro$voterec)]
voterec <- ro[c("voterec")]
voterec <- na.omit(voterec)
voterec$voterec <- factor(voterec$voterec, c("ARD", "PPDD", "UDMR", "USL", "other", "did not vote"))
ggplot(voterec, aes(x = factor(voterec))) + geom_bar(stat = "count", fill="darkblue", colour="black") + labs(title = "Vot la alegerile parlamentare 2012", x="") + theme_minimal()
We can see who they intend to vote for, which is quite exciting
library(ggplot2)
ro$voteint <- ifelse(ro$popup_question_6==0, "PSD",
ifelse(ro$popup_question_6==1, "ALDE",
ifelse(ro$popup_question_6==2, "PNL",
ifelse(ro$popup_question_6==3, "UDMR",
ifelse(ro$popup_question_6==4, "USR",
ifelse(ro$popup_question_6==5, "other",
NA))))))
voteint <- ro[c("voteint")]
voteint <- na.omit(voteint)
voteint$voteint <- factor(voteint$voteint, c("ALDE", "PNL", "PSD", "UDMR", "USR", "other"))
ggplot(voteint, aes(x = factor(voteint))) + geom_bar(stat = "count", fill="darkblue", colour="black") + labs(title = "Intentie de vot la alegerile parlamentare 2016", x="") + theme_minimal()
1 means “Completely dissagree, 3,”Neither agree nor disagree“, 5”“Completely agree”, -1 “No opinion”
Free market makes the health system to function better
Competitia economica libera face sistemul de sanatate sa functioneze mai eficient
ro$statement_0[ro$statement_0=="-1"] <- NA
prop.table(table(ro$statement_0)) * 100
1 2 3 4 5
5.273126 13.746013 22.956539 38.925439 19.098884
The number of employees in the public sector should be reduced
Numarul angajatilor din sectorul public ar trebui redus
ro$statement_1[ro$statement_1=="-1"] <- NA
prop.table(table(ro$statement_1)) * 100
1 2 3 4 5
3.692188 10.425573 15.827827 34.871745 35.182666
The state should intervene in the economy as little as possible
Statul ar trebui sa intervina cat mai putin posibil in economie
ro$statement_2[ro$statement_2=="-1"] <- NA
prop.table(table(ro$statement_2)) * 100
1 2 3 4 5
6.523005 20.034945 22.005436 33.721607 17.715007
Romania should adopt a progressive taxation system
Romania ar trebui sa adopte un sistem de taxare progresiva
ro$statement_3[ro$statement_3=="-1"] <- NA
prop.table(table(ro$statement_3)) * 100
1 2 3 4 5
11.02409 16.95251 15.21761 38.15803 18.64776
Foreign investors are a threat to Romania’s national sovereignty
Investitorii straini sunt o amenintare la suveranitatea nationala a Romaniei
ro$statement_4[ro$statement_4=="-1"] <- NA
prop.table(table(ro$statement_4)) * 100
1 2 3 4 5
51.28329 29.80145 11.13801 5.03632 2.74092
VTA should be reduced under 20%
TVA trebuie redus sub pragul de 20%
ro$statement_5[ro$statement_5=="-1"] <- NA
prop.table(table(ro$statement_5)) * 100
1 2 3 4 5
2.125566 8.088959 26.402283 40.267664 23.115528
Romania should never adopt the euro
Romania ar trebui sa nu adopte niciodata moneda Euro
ro$statement_6[ro$statement_6=="-1"] <- NA
prop.table(table(ro$statement_6)) * 100
1 2 3 4 5
27.830605 30.447995 22.046858 11.685129 7.989413
International actors (such as EU or USA) have the right to intervene in Romania’s internal affairs if the state of democracy is threatend
Partenerii internationali (precum UE sau SUA) pot interveni in afacerile interne ale Romaniei atunci cand exista o amenintare la adresa democratiei
ro$statement_7[ro$statement_7=="-1"] <- NA
prop.table(table(ro$statement_7)) * 100
1 2 3 4 5
13.48860 17.40902 16.10869 38.44736 14.54634
The strategic partnership with USA is essential for Romania’s national security
Parteneriatul strategic cu SUA este esential pentru securitatea nationala
ro$statement_8[ro$statement_8=="-1"] <- NA
prop.table(table(ro$statement_8)) * 100
1 2 3 4 5
3.699388 5.981163 15.671424 41.984659 32.663365
Women should be able to decide on any matters related to abortion
Femeile ar trebui sa aiba libertatea de a decide asupra chestiunilor legate de avort
ro$statement_9[ro$statement_9=="-1"] <- NA
prop.table(table(ro$statement_9)) * 100
1 2 3 4 5
3.095077 3.211142 5.019828 22.845536 65.828417
Romania should not receive refugees that try to enter the EU
Romania ar trebui sa accepte mai multi migranti care intra in UE, ca semn de solidaritate
ro$statement_10[ro$statement_10=="-1"] <- NA
prop.table(table(ro$statement_10)) * 100
1 2 3 4 5
18.85087 19.70640 26.17150 23.88684 11.38441
Gay couples should have the same rights as the heterosexual ones
Cuplurile homosexuale ar trebui sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale
library(ggplot2)
table(ro$statement_11)
-1 1 2 3 4 5
90 1326 889 1242 2260 4595
ro$statement_11[ro$statement_11=="-1"] <- NA
ro$statement_11[ro$statement_11=="1"] <- "Total impotriva"
ro$statement_11[ro$statement_11=="2"] <- "Impotriva"
ro$statement_11[ro$statement_11=="3"] <- "Neutru"
ro$statement_11[ro$statement_11=="4"] <- "De acord"
ro$statement_11[ro$statement_11=="5"] <- "Total de acord"
ro$statement_11 <- factor(ro$statement_11, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
ggplot(ro, aes(x = factor(statement_11))) + geom_bar(stat = "count", fill="darkblue", colour="black") + labs(title = "Cuplurile homosexuale ar trebui \n sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale", x = "", y = "Numar utilizatori") + theme_minimal()
Smoking should be prohibited in all the public places, even the open-space ones
Fumatul trebuie interzis in toate locurile publice, chiar si cele deschise
ro$statement_12[ro$statement_12=="-1"] <- NA
prop.table(table(ro$statement_12)) * 100
1 2 3 4 5
16.05571 25.36029 16.66505 19.29587 22.62308
Immigrants should adopt the values and culture of Romania
Imigrantii ar trebui sa se adapteze la valorile si cultura Romaniei
ro$statement_13[ro$statement_13=="-1"] <- NA
prop.table(table(ro$statement_13)) * 100
1 2 3 4 5
1.964580 6.242137 16.113423 39.398045 36.281816
Romania should pursue state unification with Moldova
Romania ar trebui sa urmareasca reunificarea statala cu Republica Moldova
ro$statement_14[ro$statement_14=="-1"] <- NA
prop.table(table(ro$statement_14)) * 100
1 2 3 4 5
14.16536 19.63166 30.51528 20.91497 14.77273
A territorial reform should include the creation of an autonomous Hungarian region
O reforma teritoriala ar trebui sa includa crearea unei regiuni maghiare autonome
ro$statement_15[ro$statement_15=="-1"] <- NA
prop.table(table(ro$statement_15)) * 100
1 2 3 4 5
47.310050 30.148847 13.775659 5.798229 2.967215
ro$statement_15[ro$statement_15=="1"] <- "Total impotriva"
ro$statement_15[ro$statement_15=="2"] <- "Impotriva"
ro$statement_15[ro$statement_15=="3"] <- "Neutru"
ro$statement_15[ro$statement_15=="4"] <- "De acord"
ro$statement_15[ro$statement_15=="5"] <- "Total de acord"
ro$statement_15 <- factor(ro$statement_15, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
ggplot(ro, aes(x = factor(statement_15))) + geom_bar(stat = "count", fill="darkblue", colour="black") + labs(title = "O reforma teritoriala ar trebui sa includa \n crearea unei regiuni maghiare autonome", x = "", y = "Numar utilizatori")+ theme_minimal()
The state should give privileged status to the orthodox church
Statul ar trebui sa acorde un statut privilegiat Bisericii Ortodoxe
ro$statement_16[ro$statement_16=="-1"] <- NA
prop.table(table(ro$statement_16)) * 100
1 2 3 4 5
71.300145 17.815370 6.331561 2.706622 1.846303
ro$statement_16[ro$statement_16=="1"] <- "Total impotriva"
ro$statement_16[ro$statement_16=="2"] <- "Impotriva"
ro$statement_16[ro$statement_16=="3"] <- "Neutru"
ro$statement_16[ro$statement_16=="4"] <- "De acord"
ro$statement_16[ro$statement_16=="5"] <- "Total de acord"
ro$statement_16 <- factor(ro$statement_16, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
ggplot(ro, aes(x = factor(statement_16))) + geom_bar(stat = "count", fill="darkblue", colour="black") + labs(title = "Statul ar trebui sa acorde un statut privilegiat Bisericii Ortodoxe", x = "", y = "Numar utilizatori")+ theme_minimal()
The electoral treshold should be lowered, so smaller parties can gain access to the parliament
Pragul electoral ar trebui redus pentru a permite intrarea partidelor mai mici în parlament
ro$statement_17[ro$statement_17=="-1"] <- NA
prop.table(table(ro$statement_17)) * 100
1 2 3 4 5
7.652614 12.608315 13.815597 35.050141 30.873333
The electoral reform should include lowering the number of signatures needed for candidacy for all election types
Numarul de semnaturi pentru candidatura la toate tipurile de alegeri ar trebui redus
ro$statement_18[ro$statement_18=="-1"] <- NA
prop.table(table(ro$statement_18)) * 100
1 2 3 4 5
4.997066 9.867006 13.367886 33.835322 37.932721
The number of polling stations for diaspora should be increased for all election types
Numarul de sectii de votare in diaspora trebuie marit pentru toate tipurile de alegeri
ro$statement_19[ro$statement_19=="-1"] <- NA
prop.table(table(ro$statement_19)) * 100
1 2 3 4 5
1.804424 3.152891 8.886302 34.720605 51.435778
The postal vote should be introduced for all election types
Votul prin corespondenta ar trebui introdus pentru toate tipurile de alegeri
ro$statement_20[ro$statement_20=="-1"] <- NA
prop.table(table(ro$statement_20)) * 100
1 2 3 4 5
2.557619 3.967714 8.236896 31.800058 53.437713
The digitalization of the judicial process should be continued by publishing on-line all the decisions
Digitalizarea procesului judiciar trebuie continuata prin publicarea on-line a tuturor hotararilor judecatoresti
ro$statement_21[ro$statement_21=="-1"] <- NA
prop.table(table(ro$statement_21)) * 100
1 2 3 4 5
0.5525933 0.9985458 3.3155599 30.6543868 64.4789142
Government’s public information must be accessible online
Informatiile publice ale guvernului ar trebui sa fie accesibile on-line
ro$statement_22[ro$statement_22=="-1"] <- NA
prop.table(table(ro$statement_22)) * 100
1 2 3 4 5
0.2795450 0.2795450 0.8193561 23.2022364 75.4193175
The open vote should be introduced for all decisions made in the parliament
Votul deschis trebuie introdus pentru toate deciziile luate in Parlament
ro$statement_23[ro$statement_23=="-1"] <- NA
prop.table(table(ro$statement_23)) * 100
1 2 3 4 5
0.9170732 3.9317073 7.9902439 26.6243902 60.5365854
Politicians prosecuted for corruption should give up any public function
Politicienii urmariti penal pentru fapte de coruptie trebuie sa renunte la orice functie publica
ro$statement_24[ro$statement_24=="-1"] <- NA
prop.table(table(ro$statement_24)) * 100
1 2 3 4 5
2.568807 4.751328 6.199903 15.731531 70.748431
MPs should enjoy immunity rights only for votes and declarations
Parlamentarii ar trebui sa aiba imunitate doar pentru voturi si declaratii
ro$statement_25[ro$statement_25=="-1"] <- NA
prop.table(table(ro$statement_25)) * 100
1 2 3 4 5
3.206256 4.789834 8.905181 28.973607 54.125122
Governments formed exclusivelly from non-partisan tehnocrats work better than those formed from politicians
Guvernele formate exclusiv din tehnocrati neafiliati politic functioneaza mai bine decat cele formate din politicieni
ro$statement_26[ro$statement_26=="-1"] <- NA
prop.table(table(ro$statement_26)) * 100
1 2 3 4 5
7.786245 8.782728 27.657288 29.591637 26.182102
Prosecutors have too much power in prosecuting citizens
Procurorii au prea multa putere în ceea ce priveste anchetarea cetatenilor
ro$statement_27[ro$statement_27=="-1"] <- NA
prop.table(table(ro$statement_27)) * 100
1 2 3 4 5
13.161058 29.086538 36.498397 14.493189 6.760817
The Mechanism of Cooperation and Verification, which tracks progress in the judiciary system reform should be maintained
Mecanismul de Cooperare si Verificare, prin care se verifica progresele in reformarea justitiei, ar trebui inlaturat
ro$statement_28[ro$statement_28=="-1"] <- NA
prop.table(table(ro$statement_28)) * 100
1 2 3 4 5
25.023420 36.691995 26.345373 7.806808 4.132403
Romania should work on strengthening its diplomatic relations with Rusia
Romania ar trebui sa isi consolideze relatiile diplomatice cu Rusia
ro$statement_29[ro$statement_29=="-1"] <- NA
prop.table(table(ro$statement_29)) * 100
1 2 3 4 5
12.059113 14.748768 33.054187 33.507389 6.630542
Interest in politics 0 very much, 3 not at all
ro$popup_question_2[ro$popup_question_2==4] <- NA
prop.table(table(ro$popup_question_2)) * 100
0 1 2 3
52.217454 39.532666 6.962327 1.287554
Left-right self-positioning, 0 left 10 right
ro$popup_question_3[ro$popup_question_3==11] <- NA
ro$popup_question_3[ro$popup_question_3==12] <- NA
prop.table(table(ro$popup_question_3)) * 100
0 1 2 3 4 5 6 7 8 9 10
1.436355 1.882120 2.129767 5.250124 5.943536 15.898960 10.698366 19.167905 18.499257 6.587420 12.506191
Evaluation of Ciolos’ government performance 0 very good, 4 very bad, 5 don’t know
prop.table(table(ro$popup_question_4)) * 100
0 1 2 3 4 5
41.2413132 40.9058231 3.4507549 0.7189073 8.8665229 4.8166786
We can do stacked barplots, looking at age and positions on statements, like this example on the statement on gay marriage
toplot2 <- table(ro$age, ro$statement_11)
toplot2 <- ro[c(67, 109)]
toplot2$age[toplot2$age=="1"] <- "18-29"
toplot2$age[toplot2$age=="2"] <- "30-49"
toplot2$age[toplot2$age=="3"] <- "50-64"
toplot2$age[toplot2$age=="4"] <- "65+"
toplot2$statement_11[toplot2$statement_11=="1"] <- "Total impotriva"
toplot2$statement_11[toplot2$statement_11=="2"] <- "Impotriva"
toplot2$statement_11[toplot2$statement_11=="3"] <- "Neutru"
toplot2$statement_11[toplot2$statement_11=="4"] <- "De acord"
toplot2$statement_11[toplot2$statement_11=="5"] <- "Total de acord"
toplot2$statement_11 <- factor(toplot2$statement_11, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
toplot2 <- na.omit(toplot2)
library(ggplot2)
library(plyr)
library(reshape2)
library(gridExtra)
k <- ggplot(toplot2, aes(statement_11, fill=age))
k + geom_bar() + scale_fill_brewer() + labs(title = "Cuplurile homosexuale ar trebui \n sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale", x = "Opinia utilizatorului", y = "Numar utilizatori") + theme_minimal()
We can have a look at the same statement, on gay marriage, by eduaction
toplot3 <- ro[c(67, 111)]
# rename factor levels age
toplot3$edu[toplot3$edu=="0"] <- "Nu am fost niciodata la scoala"
toplot3$edu[toplot3$edu=="1"] <- "Scoala generala"
toplot3$edu[toplot3$edu=="2"] <- "Liceu sau scoala profesionala"
toplot3$edu[toplot3$edu=="3"] <- "Facultate/Masterat/Doctorat"
toplot3$edu[toplot3$edu=="4"] <- "Studii postuniversitare"
toplot3$edu <- factor(toplot3$edu, c("Nu am fost niciodata la scoala", "Scoala generala", "Liceu sau Scoala profesionala", "Facultate/Masterat/Doctorat", "Studii postuniversitare"))
toplot3$statement_11[toplot3$statement_11=="1"] <- "Total impotriva"
toplot3$statement_11[toplot3$statement_11=="2"] <- "Impotriva"
toplot3$statement_11[toplot3$statement_11=="3"] <- "Neutru"
toplot3$statement_11[toplot3$statement_11=="4"] <- "De acord"
toplot3$statement_11[toplot3$statement_11=="5"] <- "Total de acord"
toplot3$statement_11 <- factor(toplot3$statement_11, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
toplot3 <- na.omit(toplot3)
l <- ggplot(toplot3, aes(statement_11, fill=edu))
l + geom_bar() + scale_fill_brewer() + labs(title = "Cuplurile homosexuale ar trebui \n sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale", x = "Opinia utilizatorului", y = "Numar utilizatori") + theme_minimal()
And the possibilities are endless! Just tell me what you would like to see in a graph and I’ll do it.
WE can look at the opinions on statements given the user’s political preferences, more precisely the propensity to vote for the parties (I selected PTV > 7, then the party with the maximum value)
ro$PSD <- ifelse(ro$ptv_option_6_question_32 ==7, 7,
ifelse(ro$ptv_option_6_question_32 ==8, 8,
ifelse(ro$ptv_option_6_question_32 ==9, 9,
ifelse(ro$ptv_option_6_question_32 ==10, 10,
NA))))
ro$PNL <- ifelse(ro$ptv_option_7_question_32 ==7, 7,
ifelse(ro$ptv_option_7_question_32 ==8, 8,
ifelse(ro$ptv_option_7_question_32 ==9, 9,
ifelse(ro$ptv_option_7_question_32 ==10, 10,
NA))))
ro$ALDE <- ifelse(ro$ptv_option_8_question_32 ==7, 7,
ifelse(ro$ptv_option_8_question_32 ==8, 8,
ifelse(ro$ptv_option_8_question_32 ==9, 9,
ifelse(ro$ptv_option_8_question_32 ==10, 10,
NA))))
ro$UDMR <- ifelse(ro$ptv_option_9_question_32 ==7, 7,
ifelse(ro$ptv_option_9_question_32 ==8, 8,
ifelse(ro$ptv_option_9_question_32 ==9, 9,
ifelse(ro$ptv_option_9_question_32 ==10, 10,
NA))))
ro$USR <- ifelse(ro$ptv_option_10_question_32 ==7, 7,
ifelse(ro$ptv_option_10_question_32 ==8, 8,
ifelse(ro$ptv_option_10_question_32 ==9, 9,
ifelse(ro$ptv_option_10_question_32 ==10, 10,
NA))))
ro$PMP <- ifelse(ro$ptv_option_11_question_32 ==7, 7,
ifelse(ro$ptv_option_11_question_32 ==8, 8,
ifelse(ro$ptv_option_11_question_32 ==9, 9,
ifelse(ro$ptv_option_11_question_32 ==10, 10,
NA))))
ptv <- ro[c(119:124)]
ptv$ptvmax <- apply(ptv, 1, function(x) names (x) [which.max(x)])
ptv$ptvmax[ptv$ptvmax=="character(0)"] <- NA
ptv <-ptv[,7]
ptv <- data.frame(unlist(ptv))
toplotgay <- cbind(ptv, ro[c(67)])
toplotgay <- na.omit(toplotgay)
require(ggplot2)
ggplot(toplotgay, aes(x = factor(statement_11))) + geom_bar(stat = "count", fill="darkblue", colour="black") + facet_grid(~ unlist.ptv.)+ labs(title = "Cuplurile homosexuale ar trebui \n sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale", x = "1 - Total impotriva, 2 - Impotriva, 3 - Neutru, 4 - De acord, 5 - Total de acord", y = "Numar utilizatori") + theme_minimal() + theme(text = element_text(size=10))
The same approach, different presentation
toplotgay$statement_11[toplotgay$statement_11=="1"] <- "Total impotriva"
toplotgay$statement_11[toplotgay$statement_11=="2"] <- "Impotriva"
toplotgay$statement_11[toplotgay$statement_11=="3"] <- "Neutru"
toplotgay$statement_11[toplotgay$statement_11=="4"] <- "De acord"
toplotgay$statement_11[toplotgay$statement_11=="5"] <- "Total de acord"
toplotgay$statement_11 <- factor(toplotgay$statement_11, c("Total impotriva", "Impotriva", "Neutru", "De acord", "Total de acord"))
p <- ggplot(toplotgay, aes(statement_11, fill=unlist.ptv.))
p + geom_bar() + scale_fill_brewer(palette="Spectral") + labs(title = "Cuplurile homosexuale ar trebui \n sa se bucure de aceleasi drepturi ca si cuplurile heterosexuale", x = "", y = "Numar utilizatori") + guides(fill=guide_legend(title=NULL)) + theme_minimal()