dados <- dados %>% rename(balanca_comercial = VAR00001)
dados <- dados %>% rename(imagem = VAR00002)
dados <- dados %>% rename(area = profissao)
#Dados! transformar em fator
dados <- dados %>% mutate(balanca_comercial = factor(case_when(
balanca_comercial == 1 ~ "Dados bons",
balanca_comercial == 2 ~ "Dados ruins",
balanca_comercial == 3 ~ "Neutro bom",
balanca_comercial == 4 ~ "Neutro ruim"),
levels=c("Dados bons","Dados ruins","Neutro bom","Neutro ruim")))
#Imagem! transformar em fator
dados <- dados %>% mutate(imagem = factor(case_when(
imagem == 1 ~ "Imagens boas",
imagem == 2 ~ "Imagens ruins",
imagem == 3 ~ "Neutro bom",
imagem == 4 ~ "Neutro ruim"),
levels=c("Imagens boas","Imagens ruins","Neutro bom","Neutro ruim")))
#Have a numeric variable to each focal variable
dados <- dados %>% mutate(
img_num = as.numeric(imagem)
)
#check
dados %>% count(imagem)
dados %>% count(img_num)
#Have a numeric variable to each focal variable
dados <- dados %>% mutate(
bal_num = as.numeric(balanca_comercial)
)
#check
dados %>% count(balanca_comercial)
dados %>% count(bal_num)
# Easy names
dados <- dados %>% mutate(situacao = factor(case_when(
tipoquest == "2" ~ "IB x DB",
tipoquest == "3" ~ "IR x DB",
tipoquest == "5" ~ "IR x DR",
tipoquest == "6" ~ "IB x DR",
tipoquest == "1" ~ "NB",
tipoquest == "4" ~ "NR"),
levels=c("IB x DB",
"IR x DB",
"IR x DR",
"IB x DR",
"NB",
"NR")))
#check
dados %>% count(tipoquest, situacao) %>% spread(situacao, n)
#gender
dados <- dados %>% mutate(sexo = factor(if_else(i5 == 1, "Homens","Mulheres")))
#check
dados %>% count(i5)
dados %>% count(sexo)
#tempo
dados <- dados %>% rename(tempo = VARTempo)
#insolvencia
dados <- dados %>% rename(certeza = q2)
#insolvencia
dados <- dados %>% rename(insolvencia = q3)
#continuidade
dados <- dados %>% rename(continuidade = q4)
#ineficaz
dados <- dados %>% rename(eficaz_ineficaz = d6)
#sintetico
dados <- dados %>% rename(sintetico = d7)
#sintetico
dados <- dados %>% rename(feliz = d8)
#avesso ao risco
dados <- dados %>% rename(avesso_risco = d9)
#avesso ao risco
dados <- dados %>% rename(otimista = d10)
# clean names
dados <- janitor::clean_names(dados)
tempo <- dados %>% select(starts_with("time"))
psych::describeBy(tempo)
Inicialmente, é necessário verificar as variáveis utilizadas no delinamento de pesquisa, bem como definir seus tipos de medida. uma vez que os participantes foram alocados em grupos e, em seguida, estes foram submetidos a formatos diferentes de imagens e de balanças comerciais, um dos formatos analíticos frequentemente associados é o da Análise da Variância (ANOVA) considerando dois fatores principais (imagem e balança) e uma possível interação entre eles. O desfecho foi medido por escalas likert cujos resultados foram entendidos como contínuos. Sabe-se hoje que a consideração destas variáveis como contínuas gera baixa perda informativa e permite maior poder na utilização de técnicas paramétricas (Wu and Leung 2017). Finalmente, uma vez que a ANOVA é um caso especial de um modelo de regressão Linear em que as variáveis independentes são categóricas, aspectos de resistências às violações estão presentes (Judd, McClelland, and Ryan 2017).
Em outro sentido, enquanto técnicas de regressão são especialmente úteis para decisões inferenciais a partir de testes de hipóteses nula, a descrição e exploração dos dados não são os focos principais. Assim, as hipóteses também foram investigadas por Machine Learning, que foram empregadas também para levantar novas hipóteses sobre as possíveis diferenças entre estímulações positivas e negativas nas diferentes atitudes e deciões dos profissionais de contabilidade.
Análises estatisticas no geral devem ser precedidas de uma plena descrição e apresentação dos dados coletados durante a pesquisa. Frequentemente, isso é realizado mediante técnicas tabulares e gráficas. Isso ocorre, pois gráficos e tabelas permitem conhecer a pesquisa, mapear possíveis erros e identificar os padrões existente. Isso é importante para também auxiliar na criação de novas hipóteses que poderão ser exploradas futuramente.
Posto isso, as imagens abaixo apresentam a distribuição da variável que buscou investigar “O valor recomendado para a compra da empresa” (q1), bem como “Grau de Certeza sobre o Investimento” (q2). Valores altos em relação à recomendação de investimento significa significam que o participante recomendou investir na empresa, enquanto valores baixos significam o contrário. Esse mesmo formato interpretativo ocorre para a variável de certeza.
dados2 <- dados %>% dplyr::select(pais, area, sexo, experiencia, situacao, tempo,
q1, certeza, insolvencia, continuidade, eficaz_ineficaz, sintetico, feliz, avesso_risco, otimista)
# DataExplorer
#plot_str(dados2)
#plot_missing(dados2)
dados2 %>% dplyr::select(q1, certeza) %>% plot_histogram(.)
As imagens a seguir apresentam a distribuição das seguintes características comportamentais: Eficaz ou Ineficaz (d6), Analítico ou Sintético (d7), Triste ou Alegre (d8), Propenso ou Avesso ao Risco (d9) e Pessimista ou Otimista (d10). Quão maior o valor (resultados à direita), mais a pessoa se considera eficaz, sintética, alegre, avesso ao risco e otimista. Por exemplo, a maior parte dos participantes se considera eficaz, já que a maior densidade da distribuição está do lado esquerdo, enquanto poucas observações estão na cauda direita da curva.
dados2 %>% dplyr::select(ineficaz, sintetico, feliz, avesso_risco, otimista) %>% plot_density(.,geom_density_args = list("fill" = "black", "alpha" = 0.6), theme_config = list("plot.background" = element_rect(fill = "beige"),
"panel.background" = element_rect(fill = "beige")))
A frequência das participações de cada país, bem como o delineamento de pesquisa (situação experimental) encontram-se abaixo.
dados2 %>% plot_bar(.)
#get_labels(dados2)
graf_desc <- function(var1,var2) {
#vi <- eval(var1)
sjp.grpfrq(
dados[[var1]],
dados[[var2]],
title = paste(var2, "em função da ", var1),
show.n = FALSE,
show.prc = FALSE,
#geom.colors = "Greys",
geom.size = 0.7) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
}
A análise do delineamento experimental também é beneficiado por técnicas gráficas. O gráfico a seguir apresenta os grupos situacionais e sua relação com o tempo de experiência do participante. Nota-se que o grupo com experiência até 10 anos é o com maior participação em todos as situações trabalhadas nessa pesquisa.
graf_desc(var1 = "experiencia",var2 = "situacao")
Os profissionais envolvidos diretamente com contabilidade foram os mais submetidos às diferentes situações.
graf_desc(var1 = "area", var2 = "situacao")
O perfil de investimento também mostra-se diferente quando se analisa cada uma das diferentes situações. Participantes que recomendam comprar toda a empresa são aqueles que estiveram na situação de “imagens boas com balanço bom” ou “imagens ruins com balança boa”
graf_desc(var1 = "situacao", var2 = "q1")
Por sua vez, profissionais de contabilidade mostraram-se particularmente conservadores (não sei se esse é o melhor termo) no que se refere à recomendação de compra na empresa.
graf_desc(var1 = "area", var2 = "q1")
Isso também se mostrou àqueles participantes com menor tempo de experência (10anos.)
graf_desc(var1 = "experiencia", var2 = "q1")
#barplot(table(as_label(dados2$q1),
# as_label(dados2$experiencia)),
# beside = T,
# legend.text = T,
# main = get_label(dados2$experiencia))
Para verificar aspectos do perfil psicológico dos participantes, verificou-se os resultados das escalas utilizadas em função do tipo de situação experimental submetida pelos participantes. Como cada escala possui um conteúdo semântico próprio, baseado em postos extremos opostos, cada aspectos descritivo a seguir apresenta os resultados individuais, bem como os testes estatísticos realizados para verificar algumas características entre as variáveis. Testes pareados post-hoc foram realizados às variáveis signitivativas para para testar a significância de cada comparação. A esse momento, os valores de p foram ajustados pelo método Bonferroni. Para melhor apresentação, os gráficos serão introduzidos anteriormente às tabelas, que apresentarão também outros dados extensos.
Dessa maneira, o gráfico abaixo apresenta a porcentagem de respostas de cada situação experimental nas categorias do item sobre propensão ou aversão ao risco. O teste Qui-quadrado de independência foi significativo (X2(30) = 47.231, p = 0.02). possibilitando interpretar que ambas as variáveis tem um perfil de associação.
#fix factor levels
j <- dados %>%
mutate(avesso_risco = factor(avesso_risco, labels = c(
"Muito propenso ao risco",
"Propenso ao risco",
"Pouco propenso ao risco",
"Neutro",
"Pouco avesso ao risco",
"Avesso ao risco",
"Muito avesso ao risco")))
j <- j %>% rename("Propenso ao risco x Neutro x Avesso ao risco" = avesso_risco)
#create a vector with the main plot
likert_avesso_risco <- likert(items=j[,22, drop=FALSE],
grouping=dados$situacao)
#x2 test
library(fifer)
chiq1 <- chisq.test(dados$situacao,dados$avesso_risco)
#display the plot
(p1 <- plot(likert_avesso_risco,legend = "Categorias",
legend.position = "right") +
ggtitle("Propenso ou Avesso ao Risco"))
#+ theme_fivethirtyeight()
likert_avesso_risco$results %>% dplyr::select(-Item) %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Group | Muito propenso ao risco | Propenso ao risco | Pouco propenso ao risco | Neutro | Pouco avesso ao risco | Avesso ao risco | Muito avesso ao risco |
|---|---|---|---|---|---|---|---|
| IB x DB | 0.0 | 10.5 | 11 | 47.4 | 11 | 10.5 | 10.5 |
| IR x DB | 0.0 | 0.0 | 21 | 7.1 | 36 | 21.4 | 14.3 |
| IR x DR | 15.4 | 7.7 | 15 | 7.7 | 0 | 46.1 | 7.7 |
| IB x DR | 5.3 | 0.0 | 16 | 15.8 | 37 | 21.1 | 5.3 |
| NB | 0.0 | 14.3 | 29 | 4.8 | 29 | 9.5 | 14.3 |
| NR | 5.9 | 17.6 | 18 | 35.3 | 18 | 5.9 | 0.0 |
A comparação entre todas as condições experimentais foi realizada, indicando que a significância estatística globalmente encontrada no que se refere à associação entre ambas as variáveis não é repetida nas comparações individuais. A Tabela a seguir (lembre-se dos números, Rodrigo) apresenta as comparações realizadas e os valores obtidos no teste de hipótese específico. Atenta-se que o valor P ajustado deve ser considerado para interpretação, dado que valores brutos inflacionam o Erro do tipo 1.
#store as dataframe
#ds_likert_avesso_risco <- data.frame(likert_avesso_risco$results) %>% select(-Item)
#organize ds
#ds_likert_avesso_risco <- ds_likert_avesso_risco %>%
# gather(key, value, Muito.propenso.ao.risco:Muito.avesso.ao.risco)
#test the overall chi square
chisq.post.hoc(chiq1$observed, control = "bonferroni") %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
## Adjusted p-values used the bonferroni method.
| comparison | raw.p | adj.p |
|---|---|---|
| IB x DB vs. IR x DB | 0.07 | 1.00 |
| IB x DB vs. IR x DR | 0.03 | 0.42 |
| IB x DB vs. IB x DR | 0.10 | 1.00 |
| IB x DB vs. NB | 0.04 | 0.67 |
| IB x DB vs. NR | 0.75 | 1.00 |
| IR x DB vs. IR x DR | 0.10 | 1.00 |
| IR x DB vs. IB x DR | 0.93 | 1.00 |
| IR x DB vs. NB | 0.70 | 1.00 |
| IR x DB vs. NR | 0.08 | 1.00 |
| IR x DR vs. IB x DR | 0.09 | 1.00 |
| IR x DR vs. NB | 0.03 | 0.42 |
| IR x DR vs. NR | 0.03 | 0.52 |
| IB x DR vs. NB | 0.30 | 1.00 |
| IB x DR vs. NR | 0.20 | 1.00 |
| NB vs. NR | 0.13 | 1.00 |
O gráfico e a tabela dispostos a seguir apresentam os resultados contingenciais enttre as respostas à escala semântica eficácia/ineficácia. O qui-quadrado também apontou para possível associação entre tal escala e as situações experimentais (X2(30) = 45.861, p = 0.03).
#fix factor levels
j <- dados %>%
mutate(eficaz_ineficaz = factor(eficaz_ineficaz, labels = c(
"Muito eficaz",
"Eficaz",
"Pouco eficaz",
"Neutro",
"Pouco ineficaz",
"Ineficaz",
"Muito ineficaz")))
j <- j %>% rename("Eficaz x Neutro x ineficaz" = eficaz_ineficaz)
#create a vector with the main plot
likert_eficaz <- likert(items=j[,19, drop=FALSE],
grouping=dados$situacao)
#x2 test
chiq2 <- chisq.test(dados$situacao,dados$eficaz_ineficaz)
(p2 <- plot(likert_eficaz,legend = "Categorias",
legend.position = "right") +
ggtitle("Você se julga eficaz ou ineficaz?"))
likert_eficaz$results %>% dplyr::select(-Item) %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Group | Muito eficaz | Eficaz | Pouco eficaz | Neutro | Pouco ineficaz | Ineficaz | Muito ineficaz |
|---|---|---|---|---|---|---|---|
| IB x DB | 32 | 37 | 10.5 | 10.5 | 5.3 | 5.3 | 0.0 |
| IR x DB | 43 | 36 | 7.1 | 14.3 | 0.0 | 0.0 | 0.0 |
| IR x DR | 38 | 15 | 15.4 | 0.0 | 30.8 | 0.0 | 0.0 |
| IB x DR | 32 | 11 | 5.3 | 5.3 | 15.8 | 26.3 | 5.3 |
| NB | 19 | 19 | 9.5 | 23.8 | 28.6 | 0.0 | 0.0 |
| NR | 18 | 24 | 23.5 | 23.5 | 11.8 | 0.0 | 0.0 |
De forma simialar ao exposto anteriormente, apesar do modelo global indicar para rejeição da hipótese nula de independência entre as variáveis, as comparações pareadas não permitiram verificar esse mesmo fenômeno individualmente. A tabela a seguir apresenta os resultados das comparações realizadas.
chisq.post.hoc(chiq2$observed, control = "bonferroni") %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
## Adjusted p-values used the bonferroni method.
| comparison | raw.p | adj.p |
|---|---|---|
| IB x DB vs. IR x DB | 1.00 | 1 |
| IB x DB vs. IR x DR | 0.26 | 1 |
| IB x DB vs. IB x DR | 0.22 | 1 |
| IB x DB vs. NB | 0.22 | 1 |
| IB x DB vs. NR | 0.58 | 1 |
| IR x DB vs. IR x DR | 0.10 | 1 |
| IR x DB vs. IB x DR | 0.08 | 1 |
| IR x DB vs. NB | 0.12 | 1 |
| IR x DB vs. NR | 0.30 | 1 |
| IR x DR vs. IB x DR | 0.33 | 1 |
| IR x DR vs. NB | 0.34 | 1 |
| IR x DR vs. NR | 0.23 | 1 |
| IB x DR vs. NB | 0.07 | 1 |
| IB x DR vs. NR | 0.07 | 1 |
| NB vs. NR | 0.67 | 1 |
Já o gráfico e a tabela dispostos a seguir apresentam os resultados contingenciais enttre as respostas à escala semântica tristeza/felicidade. O qui-quadrado também apontou para possível associação entre tal escala e as situações experimentais (X2(30) = 66.82, p < 0.001).
#fix factor levels
j <- dados %>%
mutate(feliz = factor(feliz, labels = c(
"Muito triste",
"Triste",
"Pouco triste",
"Neutro",
"Pouco feliz",
"Feliz",
"Muito feliz")))
j <- j %>% rename("Triste x Neutro x feliz" = feliz)
#create a vector with the main plot
likert_alegre <- likert(items=j[,21, drop=FALSE],
grouping=dados$situacao)
#x2 test
chiq3 <- chisq.test(dados$situacao,dados$feliz)
(p3 <- plot(likert_alegre,legend = "Categorias",
legend.position = "right") +
ggtitle("Você se sente triste ou feliz?"))
likert_alegre$results %>% dplyr::select(-Item) %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Group | Muito triste | Triste | Pouco triste | Neutro | Pouco feliz | Feliz | Muito feliz |
|---|---|---|---|---|---|---|---|
| IB x DB | 0.0 | 0 | 0.0 | 5.3 | 31.6 | 31.6 | 31.6 |
| IR x DB | 0.0 | 21 | 28.6 | 28.6 | 7.1 | 0.0 | 14.3 |
| IR x DR | 7.7 | 23 | 0.0 | 30.8 | 23.1 | 7.7 | 7.7 |
| IB x DR | 0.0 | 0 | 0.0 | 5.3 | 10.5 | 42.1 | 42.1 |
| NB | 4.8 | 0 | 4.8 | 19.1 | 9.5 | 38.1 | 23.8 |
| NR | 0.0 | 0 | 5.9 | 17.6 | 41.2 | 29.4 | 5.9 |
Diferente os resultados anteriores, a comparação da situação “IB x DB” com a “IR x DB” foi estatisticamente significativa (p ajustado < 0.01), indicando que as categorias da escala semântica apresentam um perfil de associação com estas duas situações experimentais. [Rodrigo, esse é um resultado que vai na mesma direção teórica, mas tenha cautela na interpretação]. A comparação entre “IR x DB”" com “IB x DR” também foi significtiva (p ajustado < 0.01), o que também ocorreu na comparação entre “IR x DR”" com a “IB x DR”.
chisq.post.hoc(chiq3$observed, control = "bonferroni") %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
## Adjusted p-values used the bonferroni method.
| comparison | raw.p | adj.p |
|---|---|---|
| IB x DB vs. IR x DB | 0.00 | 0.00 |
| IB x DB vs. IR x DR | 0.02 | 0.23 |
| IB x DB vs. IB x DR | 0.52 | 1.00 |
| IB x DB vs. NB | 0.30 | 1.00 |
| IB x DB vs. NR | 0.24 | 1.00 |
| IR x DB vs. IR x DR | 0.30 | 1.00 |
| IR x DB vs. IB x DR | 0.00 | 0.00 |
| IR x DB vs. NB | 0.01 | 0.13 |
| IR x DB vs. NR | 0.01 | 0.10 |
| IR x DR vs. IB x DR | 0.00 | 0.03 |
| IR x DR vs. NB | 0.06 | 0.92 |
| IR x DR vs. NR | 0.13 | 1.00 |
| IB x DR vs. NB | 0.53 | 1.00 |
| IB x DR vs. NR | 0.02 | 0.25 |
| NB vs. NR | 0.19 | 1.00 |
A relação enttre as respostas à escala semântica pessimismo/otimismo com as situações experimentais não foi estatisticamente significativa (X2(30) = 38.459, p = 0.13). Em função desse primeiro resultado, não foi realizado nenhuma exploração adicional.
#fix factor levels
j <- dados %>%
mutate(otimista = factor(otimista, labels = c(
"Muito pessimista",
"Pessimista",
"Pouco pessimista",
"Neutro",
"Pouco otimista",
"Otimista",
"Muito otimistsa")))
j <- j %>% rename("Pessimista x Neutro x Otimista" = otimista)
#create a vector with the main plot
likert_otimista <- likert(items=j[,23, drop=FALSE],
grouping=dados$situacao)
#x2 test
chiq4 <- chisq.test(dados$situacao,dados$otimista)
(p4 <- plot(likert_otimista,legend = "Categorias",
legend.position = "right") +
ggtitle("Você se sente pessimista ou otimista?"))
likert_otimista$results %>% dplyr::select(-Item) %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Group | Muito pessimista | Pessimista | Pouco pessimista | Neutro | Pouco otimista | Otimista | Muito otimistsa |
|---|---|---|---|---|---|---|---|
| IB x DB | 0.0 | 0.0 | 5.3 | 5.3 | 37 | 37 | 16 |
| IR x DB | 7.1 | 14.3 | 7.1 | 21.4 | 21 | 14 | 14 |
| IR x DR | 15.4 | 23.1 | 7.7 | 7.7 | 15 | 15 | 15 |
| IB x DR | 0.0 | 0.0 | 5.3 | 10.5 | 11 | 26 | 47 |
| NB | 4.8 | 0.0 | 9.5 | 4.8 | 24 | 38 | 19 |
| NR | 0.0 | 5.9 | 17.6 | 5.9 | 24 | 35 | 12 |
Resultados não significativos também foram encontrados na relação entre as situações experimentais e a escala semântica sobre perfil analítico/sintético (X2(30) = 33.615, p = 0.2). Em função desse resultado, comparações pareadas também não foram realizadas.
#fix factor levels
j <- dados %>%
mutate(sintetico = factor(sintetico, labels = c(
"Muito analítico",
"Analítico",
"Pouco analítico",
"Neutro",
"Pouco sintético",
"Sintético",
"Muito sintético")))
j <- j %>% rename("Analítico x Neutro x sintético" = sintetico)
#create a vector with the main plot
likert_sintetico <- likert(items=j[,20, drop=FALSE],
grouping=dados$situacao)
#x5 test
chiq5 <- chisq.test(dados$situacao,dados$sintetico)
p5 <- (plot(likert_sintetico,legend = "Categorias",
legend.position = "right") +
ggtitle("Você se sente analítico ou sintético?"))
likert_sintetico$results %>% dplyr::select(-Item) %>% kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Group | Muito analítico | Analítico | Pouco analítico | Neutro | Pouco sintético | Sintético | Muito sintético |
|---|---|---|---|---|---|---|---|
| IB x DB | 37 | 31.6 | 10.5 | 5.3 | 0.0 | 15.8 | 0.0 |
| IR x DB | 43 | 28.6 | 14.3 | 7.1 | 7.1 | 0.0 | 0.0 |
| IR x DR | 46 | 7.7 | 7.7 | 23.1 | 7.7 | 7.7 | 0.0 |
| IB x DR | 37 | 10.5 | 5.3 | 21.1 | 21.1 | 0.0 | 5.3 |
| NB | 14 | 19.1 | 19.1 | 19.1 | 14.3 | 14.3 | 0.0 |
| NR | 12 | 41.2 | 11.8 | 23.5 | 11.8 | 0.0 | 0.0 |
grid.arrange(p1,p2,p3)
grid.arrange(p4,p5)
A primeira hipótese de interesse é verificar o quanto o efeito dos estímulos postivos (sejam fotos, balanço ou ambos) na potencialização de comportamentos arriscados. Nessa análise, comportamentos arriscados foram medidos independentemente pelo valor de investimento (em milhões) recomendado para compra da empresa (q1), percepção de insolvência e probabiliadde de continuidade.
Os resultados permitiram concluir que não houve efeito da dados contábeis (F(2, 97) = 2.52, p = 0.09) e dos tipos de imagem (F(2,97) = 0.90, p = 0.41) no que se refere ao valor sugerido para investimento na empresa.
mod_estimulo_investimento <- lm(q1 ~ factor(balanca_comercial)*factor(imagem), data = dados)
Anova(mod_estimulo_investimento) %>%
kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Sum Sq | Df | F value | Pr(>F) | |
|---|---|---|---|---|
| factor(balanca_comercial) | 6.1 | 2 | 2.5 | 0.09 |
| factor(imagem) | 2.2 | 2 | 0.9 | 0.41 |
| factor(balanca_comercial):factor(imagem) | NA | 0 | NA | NA |
| Residuals | 117.6 | 97 | NA | NA |
Em relação à percepção de probabilidade de insolvência (insolvencia), apesar do efeito das imagens não ter sido significativo (F(2,97) = 0.44, p = 0.64), o efeito dos dados contábeis foi marginalmente significativo (F(2,97) = 3.15, p = 0.05).
mod_estimulo_insolvencia <- lm(insolvencia ~ factor(balanca_comercial)*factor(imagem), data = dados)
Anova(mod_estimulo_insolvencia) %>%
kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
De forma a aprofundar a investigação do possível efeito da dados contábeis, a comparação pareada foi feita entre os grupos e os valores de P ajustados pela técnica de Tukey. Esta análise mostrou que os participantes que foram submetidos à dados contábeis “neutro com dados ruins”, quando comparados à condição de “dados bons”, tem maior escore no que se refere à probabilidade de insolvência (δ = 19, p = 0.05). Tal evidência está exposta no gráfico a seguir:
Rodrigo, é necessário na parte de discussão interpretar esses resultads
phoc_insolvencia <- aov(insolvencia ~ factor(balanca_comercial), data = dados) %>%
tukey_hsd()
ggboxplot(dados, x = "balanca_comercial", y = "insolvencia", add="jitter", fill = "balanca_comercial", legend = "hide", palette = "jco") +
stat_pvalue_manual(
phoc_insolvencia, label = "p.adj",
y.position = seq(90, 120, length.out = 6))
Finalmente, no que se refere à percepção de continuidade, a dados contábeis foi significativa (F(2, 97) = 4.11, p = 0.02), enquanto as imagens não foram (F(2,97) = 0.49, p = 0.61). A comparação pareada apontou que a balança apenas com dados ruins, quando comparada com a balança com dados bons, performa uma média de 23.4 pontos abaixo (P ajust < 0.01). A balança no formato Neutro bom é, em media, superior em 21.5 quando comparada à balança com dados ruins (P ajus = 0.03).
mod_estimulo_continuidade <- lm(continuidade ~ factor(balanca_comercial)*factor(imagem), data = dados)
Anova(mod_estimulo_continuidade) %>%
kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Sum Sq | Df | F value | Pr(>F) | |
|---|---|---|---|---|
| factor(balanca_comercial) | 6350 | 2 | 4.11 | 0.02 |
| factor(imagem) | 763 | 2 | 0.49 | 0.61 |
| factor(balanca_comercial):factor(imagem) | NA | 0 | NA | NA |
| Residuals | 74981 | 97 | NA | NA |
phoc_continuidade <- aov(continuidade ~ factor(balanca_comercial), data = dados) %>%
tukey_hsd()
ggboxplot(dados, x = "balanca_comercial", y = "continuidade", add="jitter", fill = "balanca_comercial", legend = "hide", palette = "jco") +
stat_pvalue_manual(
phoc_continuidade, label = "p.adj",
y.position = seq(110, 150, length.out = 6))
É também possível considerar os delineamentos entre os grupos para tais comparações. Abaixo segue a tabela com a frequência encontrada em cada um dos 6 delineamentos.
dados %>% count(situacao) %>% kable(.,digits = 3) %>% kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| situacao | n |
|---|---|
| IB x DB | 19 |
| IR x DB | 14 |
| IR x DR | 13 |
| IB x DR | 19 |
| NB | 21 |
| NR | 17 |
O número diferente em cada um dos grupos não é estatisticamente significativo (X2(5) = 2.84, p = 0.7), permitindo que se considerar que os grupos são homogeneos.
Isto posto, o principal objetivo do trabalho é o efeito de condições emocionais na recomendação de investimento. Tais condições emocionais foram induzidas considerando tanto imagens (positivas e negativas) quanto dados contáveis (positivos e negativos). A recomendação de investigamento foi medida diretamente em uma escala gradual, considerada aqui como medida intervalar. Dessa maneira, uma ANOVA one-way foi realizada para verificar o efeito da situação experimental na recomendação de investimento. Uma vez que essa pesquisa contou com uma quantidade amostral baixa, o boostrap com 1000 amostragens serviu para assegurar maior robstez aos resultados e computar o intervalo de confinça do ηp². A Tabela a seguir apresenta o resultado e antecede às comparações múltiplas realizadas posteriormente.
mod <- lm(q1 ~ factor(situacao), dados)
Anova(mod, type = 3) %>% kable(.,digits = 3) %>% kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Sum Sq | Df | F value | Pr(>F) | |
|---|---|---|---|---|
| (Intercept) | 165 | 1 | 136.2 | 0.000 |
| factor(situacao) | 17 | 5 | 2.9 | 0.019 |
| Residuals | 118 | 97 | NA | NA |
apaTables::apa.aov.table(mod)
##
##
## ANOVA results using q1 as the dependent variable
##
##
## Predictor SS df MS F p partial_eta2
## (Intercept) 165.05 1 165.05 136.17 .000
## factor(situacao) 17.36 5 3.47 2.86 .019 .13
## Error 117.58 97 1.21
## CI_90_partial_eta2
##
## [.01, .20]
##
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-squared
A análise desse resultado aponta que se observou efeito principal da situação experinental envolvida (F(5, 97) = 2.86, p < 0.05). Situações como essa frequentemente são necessárias para vericiar as comparações entre os grupos da variável independente. Dessa maneira, a comparação pareada entre das diferentes categorias revelou que o grupo submetido às “[IR X DR] imagens ruins dados ruins”, quando comparados ao “[IB x DB] imagens boas dados bons”, teve menor escore no que se refere ao investimento (δ = -1.18, p = 0.04).
Por sua vez, o grupo submetido à condição “NR Neutro ruim” também apresentou menor escore no que se refere ao investimento quando comparados ao grupo “[IB x DB] imagens boas dados bons” (δ = -1.12, p = 0.03). A tabela e gráfico listados a seguir apresentam tais resultados.
mod_completo <- lm(q1 ~ factor(situacao) * insolvencia * continuidade, dados)
Anova(mod, type = 3) %>% kable(.,digits = 3) %>% kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| Sum Sq | Df | F value | Pr(>F) | |
|---|---|---|---|---|
| (Intercept) | 165 | 1 | 136.2 | 0.000 |
| factor(situacao) | 17 | 5 | 2.9 | 0.019 |
| Residuals | 118 | 97 | NA | NA |
apaTables::apa.aov.table(mod_completo)
##
##
## ANOVA results using q1 as the dependent variable
##
##
## Predictor SS df MS F p
## (Intercept) 14.05 1 14.05 13.08 .001
## factor(situacao) 17.58 5 3.52 3.27 .010
## insolvencia 4.84 1 4.84 4.50 .037
## continuidade 2.05 1 2.05 1.91 .171
## factor(situacao) x insolvencia 9.01 5 1.80 1.68 .150
## factor(situacao) x continuidade 7.90 5 1.58 1.47 .209
## insolvencia x continuidade 2.96 1 2.96 2.76 .101
## factor(situacao) x insolvencia x continuidade 4.54 5 0.91 0.84 .523
## Error 84.89 79 1.07
## partial_eta2 CI_90_partial_eta2
##
## .17 [.03, .25]
## .05 [.00, .15]
## .02 [.00, .10]
## .10 [.00, .16]
## .09 [.00, .14]
## .03 [.00, .12]
## .05 [.00, .09]
##
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-squared
```
#apa_anova <- apa_print(mod_risco_afeto_positivo)
#apa_table(apa_anova$table)
stat_test %>% dplyr::select(-term, -group1, -group2) %>%
kable(., digits = 2, booktabs = T, caption = "") %>%
kable_styling(position = "center", full_width = F, bootstrap_options = "striped")
| comparison | estimate | conf.low | conf.high | p.adj |
|---|---|---|---|---|
| IR x DB-IB x DB | -0.52 | -1.65 | 0.61 | 0.76 |
| IR x DR-IB x DB | -1.18 | -2.33 | -0.03 | 0.04 |
| IB x DR-IB x DB | -0.58 | -1.62 | 0.46 | 0.59 |
| NB-IB x DB | -0.95 | -1.96 | 0.07 | 0.08 |
| NR-IB x DB | -1.12 | -2.19 | -0.06 | 0.03 |
| IR x DR-IR x DB | -0.66 | -1.89 | 0.57 | 0.63 |
| IB x DR-IR x DB | -0.06 | -1.19 | 1.07 | 1.00 |
| NB-IR x DB | -0.43 | -1.53 | 0.68 | 0.87 |
| NR-IR x DB | -0.61 | -1.76 | 0.55 | 0.65 |
| IB x DR-IR x DR | 0.60 | -0.55 | 1.75 | 0.66 |
| NB-IR x DR | 0.23 | -0.90 | 1.36 | 0.99 |
| NR-IR x DR | 0.05 | -1.13 | 1.23 | 1.00 |
| NB-IB x DR | -0.37 | -1.38 | 0.65 | 0.90 |
| NR-IB x DR | -0.54 | -1.61 | 0.52 | 0.68 |
| NR-NB | -0.18 | -1.22 | 0.87 | 1.00 |
stat_test <- aov(q1 ~ factor(situacao), data = dados) %>%
tukey_hsd()
#my_labels <- c("[AA]\nimg boa balanco bom",
# "[AB]\nimg boa balanco ruim",
# "[BA]\nimg ruim balanco bom",
# "[BB]\nimg ruim balanco ruim", "Neutro bom", "Neutro ruim")
ggboxplot(dados, x = "situacao", y = "q1", fill = "situacao", add="jitter", legend = "hide", palette = "jco") +
stat_pvalue_manual(
stat_test, label = "p.adj",
y.position = seq(5.3, 10, length.out = 15)) +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) + labs(x="", title = "O valor recomendado para a compra em função da situação experimental")
#scale_x_discrete(limit = c("[AA] imagens boas balanco bom", "[AB] imagns boas balanco ruim", "[BA] imagens ruins balanco bom", "[BB] imagens ruins balanco ruim","Neutro bom", "Neutro ruim"),
# labels= my_labels) +
Dessa maneira, as evidências constatam que os profissionais submetidos às imagens boas, com balanço bom tem recomendação mais favorável ao investimento do que o grupo que o grupo que tem uma condição negativa (balanço e imagens ruins) ou o grupo que apenas viu um balanço negativo.
paste(dados %>% colnames(), sep = " ", collapse = " ")
dados %>% select(img_num, bal_num, q1, d10) %>%
write.table(., file = "dados_rodrigo.dat", sep = ",", col.names = FALSE, row.names = FALSE, qmethod = "double")
Análises exploratórias de dados são realizadas visando ampliar as investigações do trabalho para além das hipóteses de pesquisa previamente estipuladas. Assim, mesmo que tais resultados não sejam significativos nesta pesquisa, esta seção permite gerar insights que possam ser futuramente testados.
ma vez que as iniciativas analíticas dessa pesquisa investigaram o efeito de indução do humor no julgamento de profissionais de contabilidade, agora pretendeu-se investigar o efeito da area, situacao, experiencia, sexo, certeza de recomendação, percepção de insolvência, percepção de continuidade, sentimento de ser eficaz x ineficaz, percepcao de ser sintetico, sentimento de estar feliz, ser avesso ao risco, e ser otimista.
Existem diferentes maneiras de se executar análises exploratórias e aqui foi realizado pela implementação de algorítimos automatizados, em que todas as possíveis combinações foram criadas e testadas pelo critério Bayesiano de informação (BIC). Apesar dos resultados serem extrememente informativos, esse tipo de análise exige uma computação intensa e pode inflacionar o erro do tipo 1. Posto isso, toda utilização deve ser eminentemente exploratória.
A combinação resultou em 10.448.850 modelos e possíveis análises futuras se beneficiariam da comparação entre sexo, área, percepção de continuidade e ser otimista. Há listado abaixo tabelas e gráficos que apresentam as possíveis condições de interações que poderão ser exploradas futuramente.
A relação entre o valor recomendado para a compra da empresa pode receber parcial influenciada pela interação do sexo do participante e quanto este percebe a probabilidade de Continuidade da empresa (95% CI[.00,.14]).
#fit_sexo_continuidade <- lm(q1 ~ q2*i5 + continuidade*d10 + continuidade*i5, data = dados)
fit_sexo_continuidade <- lm(q1 ~ continuidade*sexo, data = dados)
plot_model(fit_sexo_continuidade, type = "int") + ggtitle("Valor previsto para compra da empresa em função do sexo e probabilidade de continuidade")
apaTables::apa.aov.table(fit_sexo_continuidade)
##
##
## ANOVA results using q1 as the dependent variable
##
##
## Predictor SS df MS F p partial_eta2
## (Intercept) 39.62 1 39.62 30.71 .000
## continuidade 0.83 1 0.83 0.64 .425 .01
## sexo 0.34 1 0.34 0.26 .611 .00
## continuidade x sexo 2.65 1 2.65 2.06 .155 .02
## Error 127.72 99 1.29
## CI_90_partial_eta2
##
## [.00, .06]
## [.00, .04]
## [.00, .09]
##
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-squared
Profissionais com atuação específica em Contabilidade e auditoria parecem menos influenciados pela experiência profissional do que seus pares de outras áreas, como administração e economia (95% CI[.00,.10]).
#fit_sexo_continuidade <- lm(q1 ~ q2*i5 + continuidade*d10 + continuidade*i5, data = dados)
fit_area_continuidade <- lm(formula = q1 ~ area * experiencia, data = dados)
plot_model(fit_area_continuidade, type = "int") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
ggtitle("Valor previsto para compra da empresa em função da experiência e área") + xlab("")
apaTables::apa.aov.table(fit_area_continuidade)
##
##
## ANOVA results using q1 as the dependent variable
##
##
## Predictor SS df MS F p partial_eta2
## (Intercept) 14.05 1 14.05 10.66 .002
## area 2.61 1 2.61 1.98 .162 .02
## experiencia 2.04 1 2.04 1.55 .217 .02
## area x experiencia 3.98 1 3.98 3.02 .085 .03
## Error 130.50 99 1.32
## CI_90_partial_eta2
##
## [.00, .08]
## [.00, .08]
## [.00, .10]
##
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-squared
apaTables::apa.reg.table(fit_area_continuidade)
##
##
## Regression results using q1 as the criterion
##
##
## Predictor b b_95%_CI sr2 sr2_95%_CI Fit
## (Intercept) 1.74** [0.68, 2.80]
## area 0.17 [-0.07, 0.40] .02 [-.03, .07]
## experiencia 0.39 [-0.23, 1.01] .02 [-.03, .06]
## area:experiencia -0.13 [-0.28, 0.02] .03 [-.03, .09]
## R2 = .033
## 95% CI[.00,.10]
##
##
## Note. A significant b-weight indicates the semi-partial correlation is also significant.
## b represents unstandardized regression weights.
## sr2 represents the semi-partial correlation squared.
## Square brackets are used to enclose the lower and upper limits of a confidence interval.
## * indicates p < .05. ** indicates p < .01.
##
Profissionais que se dizem muito otimistas, caso administradores e analistas, diferem no valor recomendado para compra da empresa, daqueles muito pessimistas. Esta valência comportamental parece indiferente em Contadores (95% CI[.00,.27]).
#fit_sexo_continuidade <- lm(q1 ~ q2*i5 + continuidade*d10 + continuidade*i5, data = dados)
fit_area_otimista2 <- dados %>%
mutate(otimista = factor(otimista, labels = c(
"Muito pessimista",
"Pessimista",
"Pouco pessimista",
"Neutro",
"Pouco otimista",
"Otimista",
"Muito otimistsa")))
fit_area_otimista <- lm(formula = q1 ~ area * otimista, fit_area_otimista2)
plot_model(fit_area_otimista, type = "int") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
ggtitle("Valor previsto para compra da empresa em função da experiência e área") + xlab("")
apaTables::apa.aov.table(fit_area_otimista)
##
##
## ANOVA results using q1 as the dependent variable
##
##
## Predictor SS df MS F p partial_eta2 CI_90_partial_eta2
## (Intercept) 0.03 1 0.03 0.03 .868
## area 0.20 1 0.20 0.18 .676 .00 [.00, .04]
## otimista 14.13 6 2.35 2.02 .071 .12 [.00, .18]
## area x otimista 14.92 6 2.49 2.13 .057 .13 [.00, .18]
## Error 103.65 89 1.16
##
## Note: Values in square brackets indicate the bounds of the 90% confidence interval for partial eta-squared
apaTables::apa.reg.table(fit_area_otimista)
##
##
## Regression results using q1 as the criterion
##
##
## Predictor b b_95%_CI sr2 sr2_95%_CI
## (Intercept) 0.36 [-3.97, 4.70]
## area 0.27 [-1.02, 1.57] .00 [-.01, .01]
## otimistaPessimista 1.14 [-4.05, 6.32] .00 [-.01, .02]
## otimistaPouco pessimista 0.41 [-4.53, 5.36] .00 [-.00, .01]
## otimistaNeutro 2.60 [-2.25, 7.45] .01 [-.02, .04]
## otimistaPouco otimista 2.84 [-1.60, 7.28] .01 [-.03, .05]
## otimistaOtimista 2.47 [-1.95, 6.89] .01 [-.02, .05]
## otimistaMuito otimistsa 1.07 [-3.35, 5.49] .00 [-.01, .02]
## area:otimistaPessimista -0.30 [-1.66, 1.06] .00 [-.01, .02]
## area:otimistaPouco pessimista -0.04 [-1.50, 1.42] .00 [-.00, .00]
## area:otimistaNeutro -0.49 [-2.06, 1.07] .00 [-.02, .02]
## area:otimistaPouco otimista -0.48 [-1.79, 0.83] .00 [-.02, .03]
## area:otimistaOtimista -0.35 [-1.66, 0.95] .00 [-.01, .02]
## area:otimistaMuito otimistsa -0.02 [-1.32, 1.29] .00 [-.00, .00]
##
##
##
## Fit
##
##
##
##
##
##
##
##
##
##
##
##
##
##
## R2 = .232*
## 95% CI[.00,.27]
##
##
## Note. A significant b-weight indicates the semi-partial correlation is also significant.
## b represents unstandardized regression weights.
## sr2 represents the semi-partial correlation squared.
## Square brackets are used to enclose the lower and upper limits of a confidence interval.
## * indicates p < .05. ** indicates p < .01.
##
Finalmnente, profissionais que se consideraram mais felizes após o delineamento, caso atuem em contabilidade, administração (e outras – reeescrever depois) também apontam valores mais altos em suas recomendações de compra de empresa.
#fit_sexo_continuidade <- lm(q1 ~ q2*i5 + continuidade*d10 + continuidade*i5, data = dados)
fit_area_feliz2 <-
dados %>%
mutate(feliz = factor(feliz, labels = c(
"Muito triste",
"Triste",
"Pouco triste",
"Neutro",
"Pouco feliz",
"Feliz",
"Muito feliz")))
fit_area_feliz <- lm(formula = q1 ~ area * feliz, data = fit_area_feliz2)
plot_model(fit_area_feliz, type = "int") + labs(x = "",title = "Valor previstos para compra da empresa") + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + guides(color=guide_legend("Categoria"))
A análise do tempo em cada imagem também foi realizada. Inicialmente, aspectos descritivos foram feitos a partir de tabelas e gráficos. Em seguida, modelou-se o efeito das situações experimentais no tempo a partir de um modelo linear para variáveis independentes categóricas.
dados %>%
dplyr::select(situacao,starts_with("time"), -timestart) %>%
gather(key, value, time1:time31) %>%
filter(complete.cases(.)) %>%
mutate(tempo = factor(key,levels=unique(key))) -> j
j %>% group_by(situacao) %>% summarise_at(vars(value), list(~ mean, dp=sd))
## # A tibble: 6 x 3
## situacao mean dp
## <fct> <dbl> <dbl>
## 1 IB x DB 10616. 17151.
## 2 IR x DB 8437. 10259.
## 3 IR x DR 9156. 13195.
## 4 IB x DR 10511. 18686.
## 5 NB 17257. 27912.
## 6 NR 16780. 22465.
ggplot(j, aes(x=tempo, y=value, colour=situacao, group = situacao)) +
geom_line(stat = "summary") +
labs(x="Imagem", y = "Tempo", colour = "Situação") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
dados %>%
group_by(situacao) %>%
summarise_at(vars(tempo), list(media=mean, dp=sd))
## # A tibble: 6 x 3
## situacao media dp
## <fct> <dbl> <dbl>
## 1 IB x DB 5.48 2.29
## 2 IR x DB 4.36 1.77
## 3 IR x DR 4.73 2.30
## 4 IB x DR 5.43 2.96
## 5 NB 4.33 3.48
## 6 NR 4.19 2.17
lm(tempo ~ factor(situacao), dados) %>% Anova(., type=3)
## Anova Table (Type III tests)
##
## Response: tempo
## Sum Sq Df F value Pr(>F)
## (Intercept) 572 1 82.23 1.4e-14 ***
## factor(situacao) 30 5 0.87 0.51
## Residuals 674 97
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Apesar de uma diferença em relação ao tempo em que cada situação experimental gerou no procedimento, não houve diferença significativa (F(5,97) = 0.87, p = 0.51)
Essa pesquisa visou investigar os a relação entre as emoção humana, as funções cognitivas acessadas por contadores em suas tarefas e, por consequência, as análises por eles realizadas.
Uma das formas de se realizar também uma exploração ampla dos dados é pelo emprego de ttécnicas de Machine Learning. Dessa forma,
#selecionar apenas imagens e balancas contrastante
dados_ml <- dados %>% filter(tipoquest != "1" & tipoquest != "4")
#transform into factor
dados_ml <- dados_ml %>% mutate(tipoquest = factor(case_when(
tipoquest == "2" ~ "IB x DB",
tipoquest == "3" ~ "IR x DB",
tipoquest == "5" ~ "IR x DR",
tipoquest == "6" ~ "IB x DR"),
levels=c("IB x DB","IR x DB","IR x DR","IB x DR")))
#transform into numeric
dados_ml <- dados_ml %>% mutate_at(vars(q1, otimista),
list(~as.numeric))
#select only target variables
dados_ml <- dados_ml %>% dplyr::select(tipoquest, q1, otimista)
#check
dados_ml %>% glimpse()
## Observations: 65
## Variables: 3
## $ tipoquest <fct> IB x DR, IB x DR, IB x DB, IB x DB, IB x DB, IB x DR...
## $ q1 <dbl> 2, 3, 3, 4, 5, 2, 1, 3, 3, 1, 3, 1, 2, 5, 3, 1, 1, 4...
## $ otimista <dbl> 6, 7, 6, 6, 6, 6, 2, 4, 6, 3, 6, 7, 4, 5, 3, 6, 2, 5...
dados_ml %>% count(tipoquest)
## # A tibble: 4 x 2
## tipoquest n
## <fct> <int>
## 1 IB x DB 19
## 2 IR x DB 14
## 3 IR x DR 13
## 4 IB x DR 19
library(emmeans)
phoc_emmeans_estimulo_humor <- emmeans(mod_estimulo_humor, pairwise ~ balanca_comercial)
emmeans(mod_estimulo_humor, "balanca_comercial")
emmip(mod_estimulo_humor, type ~ balanca_comercial | imagem )
Judd, Charles M., Gary H. McClelland, and Carey S. Ryan. 2017. Data Analysis. Routledge. doi:10.4324/9781315744131.
Wu, Huiping, and Shing-On Leung. 2017. “Can Likert Scales Be Treated as Interval Scales?A Simulation Study.” Journal of Social Service Research 43 (4). Informa UK Limited: 527–32. doi:10.1080/01488376.2017.1329775.