This is an R Markdown Notebook.
library(tidyverse)
library(ggplot2)
library(plotly)
library(readxl)
library(dplyr)
aquarius <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Aquarius")
pisces <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Pisces")
aries <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Aries")
taurus <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Taurus")
gemini <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Gemini")
cancer <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Cancer")
leo <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Leo")
virgo <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Virgo")
libra <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Libra")
scorpio <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Scorpio")
sagittarius <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Sagittarius")
capricorn <- sq1_comp %>%
select(S, O:N) %>%
filter(S == "Capricorn")
Luckily, my data was incredibly clean, so it was easy to work with. I’ve seperated the signs, including their scores for the modified Big 5 survey I created.
Qs
Each question was scored on a Likert Scale of 1 to 5, with one being Strongly Disagree and five being Strongly Agree. These questions were created specifically for this survey.
sq1_comp %>%
ggplot(aes(x = S, fill = S)) +
geom_bar() +
theme(axis.text.x = element_text(angle = 90), axis.title.y = element_blank(), axis.title.x = element_blank(), legend.title = element_blank(), legend.position = "none") +
scale_fill_brewer(palette="Paired")
I wanted some visual representation of the number of responses I had by sign.
The following graphs show how each sign responded to the questions, presented by trait.
aquarius %>%
full_join(aries) %>%
full_join(cancer) %>%
full_join(capricorn) %>%
full_join(gemini) %>%
full_join(leo) %>%
full_join(libra) %>%
full_join(pisces) %>%
full_join(sagittarius) %>%
full_join(scorpio) %>%
full_join(taurus) %>%
full_join(virgo) %>%
ggplot(aes(
x = S,
y = O,
fill = S)) +
geom_boxplot() +
ggtitle("Openness") +
xlab("Sign") + ylab("Closedness -> Openness") +
theme(axis.text.x = element_text(angle = 90),
axis.title.x = element_text("Sign"),
axis.text.y = element_text(angle = 90),
legend.title = element_blank(),
legend.position = "none") +
scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")
Keeping this in order of OCEAN, here’s the responses to Openness.
aquarius %>%
full_join(aries) %>%
full_join(cancer) %>%
full_join(capricorn) %>%
full_join(gemini) %>%
full_join(leo) %>%
full_join(libra) %>%
full_join(pisces) %>%
full_join(sagittarius) %>%
full_join(scorpio) %>%
full_join(taurus) %>%
full_join(virgo) %>%
ggplot(aes(
x = S,
y = C,
fill = S)) +
geom_boxplot() +
ggtitle("Conscientiousness") +
xlab("Sign") + ylab("Lack of Conscientiousness -> Conscientiousness") +
theme(axis.text.x = element_text(angle = 90),
axis.title.x = element_text("Sign"),
axis.text.y = element_text(angle = 90),
legend.title = element_blank(),
legend.position = "none") +
scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")
Boxplots allow accurate visualization of extreme outliers, like whatever Taurus here has no self control.
aquarius %>%
full_join(aries) %>%
full_join(cancer) %>%
full_join(capricorn) %>%
full_join(gemini) %>%
full_join(leo) %>%
full_join(libra) %>%
full_join(pisces) %>%
full_join(sagittarius) %>%
full_join(scorpio) %>%
full_join(taurus) %>%
full_join(virgo) %>%
ggplot(aes(
x = S,
y = E,
fill = S)) +
geom_boxplot() +
ggtitle("Extroversion") +
xlab("Sign") + ylab("Introversion -> Extroversion") +
theme(axis.text.x = element_text(angle = 90),
axis.title.x = element_text("Sign"),
axis.text.y = element_text(angle = 90),
legend.title = element_blank(),
legend.position = "none") +
scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")
Somewhat surprisingly, all the signs showed high scores for extroversion. Could be the age spread of the demographic.
aquarius %>%
full_join(aries) %>%
full_join(cancer) %>%
full_join(capricorn) %>%
full_join(gemini) %>%
full_join(leo) %>%
full_join(libra) %>%
full_join(pisces) %>%
full_join(sagittarius) %>%
full_join(scorpio) %>%
full_join(taurus) %>%
full_join(virgo) %>%
ggplot(aes(
x = S,
y = A,
fill = S)) +
geom_boxplot() +
ggtitle("Agreeableness") +
xlab("Sign") + ylab("Disagreeableness -> Agreeableness") +
theme(axis.text.x = element_text(angle = 90),
axis.title.x = element_text("Sign"),
axis.text.y = element_text(angle = 90),
legend.title = element_blank(),
legend.position = "none") +
scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")
Disagreeableness is a somewhat difficult concept to accurately self-report, so it’s unsurprising that every sign scored on the higher end. Except the only Gemini who was perhaps too truthful.
aquarius %>%
full_join(aries) %>%
full_join(cancer) %>%
full_join(capricorn) %>%
full_join(gemini) %>%
full_join(leo) %>%
full_join(libra) %>%
full_join(pisces) %>%
full_join(sagittarius) %>%
full_join(scorpio) %>%
full_join(taurus) %>%
full_join(virgo) %>%
ggplot(aes(
x = S,
y = N,
fill = S)) +
geom_boxplot() +
ggtitle("Neuroticism") +
xlab("Sign") + ylab("Emotional Stability -> Neuroticism") +
theme(axis.text.x = element_text(angle = 90),
axis.title.x = element_text("Sign"),
axis.text.y = element_text(angle = 90),
legend.title = element_blank(),
legend.position = "none") +
scale_fill_brewer(palette="Paired")
Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")Joining, by = c("S", "O", "C", "E", "A", "N")
Absolutely no one should be surprised by the score spread regarding neuroticism. Cancers are notorious for being huge cry babies and Aries lie.