Skip to content

Commit 0f3fb5c

Browse files
committed
Updated scripts, added docx
Decided final models, tested Gauss-Markov assumptions, started portraying the data in a Word document.
1 parent 24163b6 commit 0f3fb5c

File tree

4 files changed

+152
-54
lines changed

4 files changed

+152
-54
lines changed

results.Rmd

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: "Result Presentation"
3+
output: word_document
4+
lang: en-EN
5+
editor_options:
6+
chunk_output_type: console
7+
---
8+
9+
10+
```{r, include=FALSE}
11+
library(dplyr)
12+
library(memisc)
13+
library(haven)
14+
library(lmtest)
15+
library(ggplot2)
16+
library(ggfortify)
17+
library(pander)
18+
library(lme4)
19+
library(ggpubr)
20+
library(car)
21+
library(sandwich)
22+
library(ggthemes)
23+
library(Hmisc)
24+
library(huxtable)
25+
26+
df = as.data.frame(read_spss("BD final - estudantes.sav"))
27+
28+
dataF = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
29+
pressao = as.numeric(df$losango_motivacao),
30+
racionalizacao = as.numeric(df$tri_dist_moral),
31+
fraudenavg = rowMeans(df[68:71], na.rm = TRUE),
32+
kgavg = as.factor(as.integer(rowMeans(df[51:67], na.rm = TRUE))),
33+
kfavg = rowMeans(df[34:50], na.rm = TRUE))
34+
35+
ModelN = lm(data = dataF, fraudenavg ~ oportunidade + pressao + racionalizacao)
36+
37+
ModelC = lm(data = dataF, kfavg ~ oportunidade + pressao + racionalizacao + kgavg)
38+
```
39+
40+
```{r, results='asis', warning=FALSE}
41+
42+
reg_table <- huxreg(ModelN, ModelC, statistics = c(N = "nobs", R2 = "r.squared", R2Adj = "adj.r.squared",
43+
"AIC"))
44+
print_md(reg_table)
45+
```
46+
47+
48+

results.docx

9.62 KB
Binary file not shown.

script.R

+91-54
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ install.packages("GGally")
66
install.packages("tidyr")
77
install.packages("pander")
88
install.packages("ANOVA")
9+
install.packages("ggpubr")
10+
install.packages("sandwich")
11+
install.packages("ggthemes")
12+
install.packages("Hmisc")
13+
install.packages("huxtable")
914

1015
library(dplyr)
1116
library(memisc)
@@ -15,79 +20,51 @@ library(ggplot2)
1520
library(ggfortify)
1621
library(pander)
1722
library(lme4)
18-
library(ANOVA)
23+
library(ggpubr)
24+
library(car)
25+
library(sandwich)
26+
library(ggthemes)
27+
library(Hmisc)
28+
library(huxtable)
1929

2030
df = as.data.frame(read_spss("BD final - estudantes.sav"))
2131

22-
# Base variables
2332

24-
data = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
25-
pressao = as.numeric(df$losango_motivacao),
26-
racionalizacao = as.numeric(df$tri_dist_moral),
27-
fraudenctx = as.numeric(df$norma_contexto),
28-
fraudencop = as.numeric(df$norma_copiar),
29-
fraudenplg = as.numeric(df$norma_plagio),
30-
fraudeneud = as.numeric(df$norma_eu_desonesto),
31-
fraudenavg = rowMeans(df[68:71], na.rm = TRUE),
32-
fraudkfreq = rowMeans(df[34:50], na.rm = TRUE))
3333

34-
35-
GGally::ggpairs(data)
3634
# Models
3735
## Fraude by the Norm
38-
### Norma Contexto
36+
datan = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
37+
pressao = as.numeric(df$losango_motivacao),
38+
racionalizacao = as.numeric(df$tri_dist_moral),
39+
fraudenctx = as.numeric(df$norma_contexto),
40+
fraudencop = as.numeric(df$norma_copiar),
41+
fraudenplg = as.numeric(df$norma_plagio),
42+
fraudeneud = as.numeric(df$norma_eu_desonesto),
43+
fraudenavg = rowMeans(df[68:71], na.rm = TRUE))
3944

40-
model11 = lm(data = data, fraudenctx ~ oportunidade + pressao + racionalizacao)
41-
summary(model11)
42-
autoplot(model11)
45+
### Norma Contexto
46+
modeln1 = lm(data = datan, fraudenctx ~ oportunidade + pressao + racionalizacao)
4347

4448
### Norma Copiar
45-
46-
model12 = lm(data = data, fraudencop ~ oportunidade + pressao + racionalizacao)
47-
summary(model12)
49+
modeln2 = lm(data = datan, fraudencop ~ oportunidade + pressao + racionalizacao)
4850

4951
### Norma Plágio
50-
51-
model13 = lm(data = data, fraudenplg ~ oportunidade + pressao + racionalizacao)
52-
summary(model13)
52+
modeln3 = lm(data = datan, fraudenplg ~ oportunidade + pressao + racionalizacao)
5353

5454
### Norma Eu desonesto
55-
56-
model14 = lm(data = data, fraudeneud ~ oportunidade + pressao + racionalizacao)
57-
summary(model14)
55+
modeln4 = lm(data = datan, fraudeneud ~ oportunidade + pressao + racionalizacao)
5856

5957
### Norma Avg
60-
61-
model15 = lm(data = data, fraudenavg ~ oportunidade + pressao + racionalizacao)
62-
summary(model15)
63-
autoplot(model15) + theme_bw()
64-
autoplot(prcomp(model15), scale = TRUE)
58+
modelnavg = lm(data = datan, fraudenavg ~ oportunidade + pressao + racionalizacao)
6559

6660
### Comparing Models
6761
AIC(model11, model12, model13, model14, model15)
6862

69-
## Fraud by Frequency
70-
71-
model21 = lm(data = data, fraudkfreq ~ oportunidade + pressao + racionalizacao)
72-
summary(model21)
73-
74-
# Tests
75-
# Multicollinearity - bptest, gqtest
76-
bptest(model11)
77-
bptest(model12)
78-
bptest(model13)
79-
bptest(model14)
80-
bptest(model15)
81-
82-
gqtest(model13)
83-
gqtest(model15)
63+
BIC(model11, model12, model13, model14, model15)
8464

85-
# Heteroskedascitity - PCA?
86-
87-
88-
# Experimental - Explaining k frequency with k gravity assessement
89-
# Create the data
65+
#### Best model - modelnavg
9066

67+
## Fraud by specific behaviours and the gravity assessement
9168
datak = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
9269
pressao = as.numeric(df$losango_motivacao),
9370
racionalizacao = as.numeric(df$tri_dist_moral),
@@ -126,7 +103,7 @@ datak = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
126103
kg16 = as.factor(df$k_especificos_2_28),
127104
kgavg = as.factor(as.integer(rowMeans(df[51:67], na.rm = TRUE))))
128105

129-
# Create models for each one
106+
## Models
130107
modelk1 = lm(data = datak,
131108
kf1 ~ oportunidade + pressao + racionalizacao + kg1)
132109

@@ -175,13 +152,13 @@ modelk15 = lm(data = datak,
175152
modelk16 = lm(data = datak,
176153
kf16 ~ oportunidade + pressao + racionalizacao + kg16)
177154

178-
#avg model
155+
# Average model
179156
modelkavg = lm(data = datak,
180157
kfavg ~ oportunidade + pressao + racionalizacao + kgavg)
181158
summary(modelkavg)
182159
autoplot(modelkavg)
183160

184-
# Comparing models
161+
## Comparing models
185162
AIC(modelk1, modelk2, modelk3, modelk4, modelk5, modelk6, modelk7,
186163
modelk8, modelk9, modelk10, modelk11, modelk12, modelk13, modelk14,
187164
modelk15, modelk16, modelkavg)
@@ -190,3 +167,63 @@ BIC(modelk1, modelk2, modelk3, modelk4, modelk5, modelk6, modelk7,
190167
modelk8, modelk9, modelk10, modelk11, modelk12, modelk13, modelk14,
191168
modelk15, modelk16, modelkavg)
192169

170+
### Best model - modelkavg
171+
# Final Models
172+
dataF = transmute(df, oportunidade = as.numeric(df$tri_oportunidade),
173+
pressao = as.numeric(df$losango_motivacao),
174+
racionalizacao = as.numeric(df$tri_dist_moral),
175+
fraudenavg = rowMeans(df[68:71], na.rm = TRUE),
176+
kgavg = as.factor(as.integer(rowMeans(df[51:67], na.rm = TRUE))),
177+
kfavg = rowMeans(df[34:50], na.rm = TRUE))
178+
179+
ModelN = lm(data = dataF, fraudenavg ~ oportunidade + pressao + racionalizacao)
180+
181+
ModelC = lm(data = dataF, kfavg ~ oportunidade + pressao + racionalizacao + kgavg)
182+
183+
## Normality Tests
184+
### Shapiro-Wilk's
185+
shapiro.test(dataF$oportunidade)
186+
shapiro.test(dataF$pressao)
187+
shapiro.test(dataF$racionalizacao)
188+
shapiro.test(dataF$fraudenavg)
189+
shapiro.test(dataF$kgavg)
190+
shapiro.test(dataF$kfavg)
191+
192+
#### Graphical confirmation
193+
ggqqplot(dataF$fraudenavg) +
194+
theme_gdocs() +
195+
labs(title="QQPlot FraudeN")
196+
197+
ggqqplot(dataF$kgavg) +
198+
theme_gdocs() +
199+
labs(title="QQPlot FraudeC")
200+
201+
## Autocorrelation - No
202+
dwtest(ModelC)
203+
dwtest(ModelN)
204+
bgtest(ModelC)
205+
bgtest(ModelN)
206+
207+
## Multicollinearity - No
208+
vif(ModelC)
209+
vif(ModelN)
210+
211+
## Heteroscedasticity - No
212+
bptest(ModelC)
213+
bptest(ModelN)
214+
gqtest(ModelC)
215+
gqtest(ModelN)
216+
217+
ncvTest(ModelC)
218+
219+
### Graphical Confirmation
220+
autoplot(ModelC)
221+
222+
# Analysing the results
223+
summary(ModelN)
224+
summary(ModelC)
225+
226+
227+
228+
229+

summary.tex

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
%latex.default(summary(ModelN))%
2+
\begin{table}[!tbp]
3+
\begin{center}
4+
\begin{tabular}{llrrrrrlrrrrrrrrrr}
5+
\hline\hline
6+
\multicolumn{1}{c}{call}&\multicolumn{1}{c}{terms}&\multicolumn{1}{c}{residuals}&\multicolumn{1}{c}{coefficients Estimate}&\multicolumn{1}{c}{coefficients Std. Error}&\multicolumn{1}{c}{coefficients t value}&\multicolumn{1}{c}{coefficients Pr(\textgreater |t|)}&\multicolumn{1}{c}{aliased}&\multicolumn{1}{c}{sigma}&\multicolumn{1}{c}{df}&\multicolumn{1}{c}{r.squared}&\multicolumn{1}{c}{adj.r.squared}&\multicolumn{1}{c}{fstatistic}&\multicolumn{1}{c}{cov.unscaled (Intercept)}&\multicolumn{1}{c}{cov.unscaled oportunidade}&\multicolumn{1}{c}{cov.unscaled pressao}&\multicolumn{1}{c}{cov.unscaled racionalizacao}&\multicolumn{1}{c}{na.action}\tabularnewline
7+
\hline
8+
lm&~&$ 1.116151400718430331$&$1.4863213702112579$&$0.0991356149962967$&$14.99280929731238$&$3.76101820733743e-46$&FALSE&$0.902243469758185$&$ 4$&$0.173161438614811$&$0.170776327380046$&$ 72.6009907172627$&$ 0.012072908674010223$&$-0.000853047780084870$&$-0.001586625390973993$&$-0.000392129130103888$&$ 419$\tabularnewline
9+
fraudenavg ~ oportunidade + pressao + racionalizacao&fraudenavg&$ 0.652921355618183208$&$0.1801549323495250$&$0.0222434694388247$&$ 8.09922808332565$&$1.53876465527237e-15$&FALSE&$0.902243469758185$&$1040$&$0.173161438614811$&$0.170776327380046$&$ 3.0000000000000$&$-0.000853047780084870$&$ 0.000607795611866146$&$-0.000112904425483379$&$-0.000231412048993837$&$ 420$\tabularnewline
10+
dataF&oportunidade + pressao + racionalizacao&$-3.026750433111608185$&$0.0696151357334542$&$0.0203249395900110$&$ 3.42510910918858$&$6.38549776758135e-04$&FALSE&$0.902243469758185$&$ 4$&$0.173161438614811$&$0.170776327380046$&$1040.0000000000000$&$-0.001586625390973993$&$-0.000112904425483379$&$ 0.000507470769842244$&$-0.000141221733113496$&$ 425$\tabularnewline
11+
\hline
12+
\end{tabular}\end{center}
13+
\end{table}

0 commit comments

Comments
 (0)