#Daten importieren:
library(readxl)
## Warning: Paket 'readxl' wurde unter R Version 4.5.2 erstellt
data <- data.frame(read_excel("C:/Users/alamn/Downloads/Jamovi/Projektarbeit/Projektarbeit Daten.xlsx"))
View(data)

#Datenaufbereitung:

#Variablen invertieren & Mittelwerte berechnen
data$G2 <- 8-data$G2i
data$Gewissenhaftigkeit <- (data$G1 + data$G2 + data$G3)/3

data$Konformität <- (data$Konformität.1 + data$Konformität.2)/2

#Variablen metrisch labeln
data$Konformität <- as.numeric(data$Konformität)
data$Gewissenhaftigkeit <- as.numeric(data$Gewissenhaftigkeit)

#Deskriptive Statistik:
library(psych)
## Warning: Paket 'psych' wurde unter R Version 4.5.2 erstellt
mean(data$Alter)
## [1] 22.8069
sd(data$Alter)
## [1] 6.343519
range(data$Alter)
## [1] 18 67
table(data$Geschlecht)
## 
##   1   2 
## 119  26
prop.table(table(data$Geschlecht)) * 100
## 
##        1        2 
## 82.06897 17.93103
mean(data$Gewissenhaftigkeit)
## [1] 4.721839
sd(data$Gewissenhaftigkeit)
## [1] 1.129715
range(data$Gewissenhaftigkeit)
## [1] 2 7
mean(data$Konformität)
## [1] 3.037931
sd(data$Konformität)
## [1] 1.032598
range(data$Konformität)
## [1] 1 6
#Histogramme:
#Gewissenhaftigkeit
library(ggplot2)
## Warning: Paket 'ggplot2' wurde unter R Version 4.5.2 erstellt
## 
## Attache Paket: 'ggplot2'
## Die folgenden Objekte sind maskiert von 'package:psych':
## 
##     %+%, alpha
ggplot(data, aes(x=Gewissenhaftigkeit)) +
  geom_histogram(color="white", fill="#691F40") +
  labs(
    y = "Häufigkeit",
    x = "BFI-Skala (1=trifft überhaupt nicht zu, 7=trifft voll zu)",
    title = "Histogramm Gewissenhaftigkeit"
  ) +
  theme_classic(base_size = 12, base_family = "serif")
## `stat_bin()` using `bins = 30`. Pick better value `binwidth`.

#Konformität
ggplot(data, aes(x=Konformität)) +
  geom_histogram(color="white", fill="#691F40") +
  labs(
    y = "Konformität",
    x = "PVQ-Skala (1=sehr unähnlich, 6=sehr ähnlich)",
    title = "Histogramm Konformität"
  ) +
  theme_classic(base_size = 12, base_family = "serif")
## `stat_bin()` using `bins = 30`. Pick better value `binwidth`.

##Inferenzstatistik:

# A-priori Poweranalyse
library(pwr)
## Warning: Paket 'pwr' wurde unter R Version 4.5.2 erstellt
pwr.f2.test(u=1, v=NULL, f2=0.15, sig.level=0.05, power=0.80)
## 
##      Multiple regression power calculation 
## 
##               u = 1
##               v = 52.315
##              f2 = 0.15
##       sig.level = 0.05
##           power = 0.8
#Lineares Regression berechnen
library(lmtest)
## Warning: Paket 'lmtest' wurde unter R Version 4.5.2 erstellt
## Lade nötiges Paket: zoo
## Warning: Paket 'zoo' wurde unter R Version 4.5.2 erstellt
## 
## Attache Paket: 'zoo'
## Die folgenden Objekte sind maskiert von 'package:base':
## 
##     as.Date, as.Date.numeric
model <- lm(Konformität ~ Gewissenhaftigkeit, data=data)
summary(model)
## 
## Call:
## lm(formula = Konformität ~ Gewissenhaftigkeit, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.23049 -0.80144 -0.09848  0.50054  3.13255 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         2.57041    0.36885   6.969 1.08e-10 ***
## Gewissenhaftigkeit  0.09901    0.07599   1.303    0.195    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.03 on 143 degrees of freedom
## Multiple R-squared:  0.01173,    Adjusted R-squared:  0.004823 
## F-statistic: 1.698 on 1 and 143 DF,  p-value: 0.1947
#Linearer Zusammenhang Grafik: Streudiagramm

library(ggplot2)
library(extrafont)
## Warning: Paket 'extrafont' wurde unter R Version 4.5.2 erstellt
## Registering fonts with R
loadfonts(device = "win")

ggplot(data, aes(x = Gewissenhaftigkeit, y = Konformität)) +
  geom_point(color = "black") +
  geom_smooth(method = "lm", se = TRUE, color = "#691F40") +
  labs(title = "Streudiagramm") +
  theme_classic(base_size = 12, base_family = "serif")
## `geom_smooth()` using formula = 'y ~ x'

#Voraussetzungen überprüfen:
library(car)
## Warning: Paket 'car' wurde unter R Version 4.5.2 erstellt
## Lade nötiges Paket: carData
## Warning: Paket 'carData' wurde unter R Version 4.5.2 erstellt
## 
## Attache Paket: 'car'
## Das folgende Objekt ist maskiert 'package:psych':
## 
##     logit
#Diagnoseplots
par(family = "serif", cex = 1)
plot(model)

#Durbin-Watson Test (Autokorrelation prüfen)
dwtest(model)
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 2.2032, p-value = 0.8899
## alternative hypothesis: true autocorrelation is greater than 0
#Breusch-Pagan Test (Homoskedastizität prüfen)
bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 0.043356, df = 1, p-value = 0.8351
#Shapiro-Wilk Test (Normalverteilung der Residuen prüfen)
shapiro.test(resid(model))
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(model)
## W = 0.95742, p-value = 0.0001883
#Linearität der Beziehungen 
crPlot(model, "Gewissenhaftigkeit", col="#691F40", cex=1, family="serif")