library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.4 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::group_rows() masks kableExtra::group_rows()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
library(stevemisc)
##
## Attaching package: 'stevemisc'
##
## The following object is masked from 'package:lubridate':
##
## dst
##
## The following object is masked from 'package:dplyr':
##
## tbl_df
library(knitr)
library(haven)
library(summarytools)
##
## Attaching package: 'summarytools'
##
## The following object is masked from 'package:tibble':
##
## view
library(outliers)
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
library(ggpmisc)
## Loading required package: ggpp
## Registered S3 methods overwritten by 'ggpp':
## method from
## heightDetails.titleGrob ggplot2
## widthDetails.titleGrob ggplot2
##
## Attaching package: 'ggpp'
##
## The following object is masked from 'package:ggplot2':
##
## annotate
library(psych)
##
## Attaching package: 'psych'
##
## The following object is masked from 'package:outliers':
##
## outlier
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
library(sur)
##
## Attaching package: 'sur'
##
## The following object is masked from 'package:psych':
##
## skew
library(moments)
library(corrplot)
## corrplot 0.95 loaded
library(olsrr)
##
## Attaching package: 'olsrr'
##
## The following object is masked from 'package:datasets':
##
## rivers
library(expss)
## Loading required package: maditr
##
## To select rows from data: rows(mtcars, am==0)
##
##
## Attaching package: 'maditr'
##
## The following objects are masked from 'package:dplyr':
##
## between, coalesce, first, last
##
## The following object is masked from 'package:purrr':
##
## transpose
##
## The following object is masked from 'package:readr':
##
## cols
##
##
## Attaching package: 'expss'
##
## The following objects are masked from 'package:haven':
##
## is.labelled, read_spss
##
## The following objects are masked from 'package:stringr':
##
## fixed, regex
##
## The following objects are masked from 'package:dplyr':
##
## compute, contains, na_if, recode, vars, where
##
## The following objects are masked from 'package:purrr':
##
## keep, modify, modify_if, when
##
## The following objects are masked from 'package:tidyr':
##
## contains, nest
##
## The following object is masked from 'package:ggplot2':
##
## vars
library(flextable)
##
## Attaching package: 'flextable'
##
## The following object is masked from 'package:expss':
##
## set_caption
##
## The following objects are masked from 'package:plotly':
##
## highlight, style
##
## The following object is masked from 'package:purrr':
##
## compose
##
## The following objects are masked from 'package:kableExtra':
##
## as_image, footnote
library(naniar)
##
## Attaching package: 'naniar'
##
## The following object is masked from 'package:expss':
##
## is_na
library(visdat)
bsgturm4 <- read_sav("D:/OLC_733/Ödev4/Ödev4/bsgturm4.sav")
# Değişken label'larını kaldırılması
bsgturm4_ <- drop_var_labs(bsgturm4)
str(bsgturm4_)
## tibble [323 × 6] (S3: tbl_df/tbl/data.frame)
## $ IDSTUD : num [1:323] 10111 10125 20207 30111 40105 ...
## ..- attr(*, "format.spss")= chr "F8.0"
## ..- attr(*, "display_width")= int 9
## $ BS4GSEX : num [1:323] 1 1 2 2 2 1 1 1 1 1 ...
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 9
## ..- attr(*, "labels")= Named num [1:3] 1 2 9
## .. ..- attr(*, "names")= chr [1:3] "GIRL" "BOY" "OMITTED"
## $ BSMMAT01: num [1:323] 709 661 729 802 374 ...
## ..- attr(*, "format.spss")= chr "F6.2"
## ..- attr(*, "display_width")= int 10
## $ BSDMPATM: num [1:323] 1 1 1 1 3 2 1 2 1 1 ...
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 10
## ..- attr(*, "labels")= Named num [1:4] 1 2 3 9
## .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
## $ BSDMSVM : num [1:323] 1 1 1 1 1 1 2 1 2 1 ...
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 9
## ..- attr(*, "labels")= Named num [1:4] 1 2 3 9
## .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
## $ BSDMSCM : num [1:323] 1 1 1 1 NA 3 1 NA 2 3 ...
## ..- attr(*, "format.spss")= chr "F1.0"
## ..- attr(*, "display_width")= int 9
## ..- attr(*, "labels")= Named num [1:4] 1 2 3 9
## .. ..- attr(*, "names")= chr [1:4] "HIGH" "MEDIUM" "LOW" "OMITTED"
head(bsgturm4_)
#Değişken isimlerinin Türkçe hale getirilmesi
library(dplyr)
bsgturm4_ <- bsgturm4_ %>%
rename(
cinsiyet = BS4GSEX,
basari = BSMMAT01,
tutum = BSDMPATM,
deger = BSDMSVM,
ozguven = BSDMSCM
)
bsgturm4_ozet <- bsgturm4_ %>%
summarise(
across(
everything(),
list(
min = ~round(min(., na.rm = TRUE), 2),
max = ~round(max(., na.rm = TRUE), 2),
mean = ~round(mean(., na.rm = TRUE), 2),
median = ~round(median(., na.rm = TRUE), 2)
)
)
) %>%
pivot_longer(
cols = everything(),
names_to = c("Değişken", ".value"),
names_sep = "_"
)
bsgturm4_ozet %>%
flextable()
Değişken | min | max | mean | median |
|---|---|---|---|---|
IDSTUD | 10,111.00 | 1,500,466.00 | 747,825.67 | 720,204.00 |
cinsiyet | 1.00 | 22.00 | 1.59 | 2.00 |
basari | 47.88 | 802.42 | 446.86 | 432.21 |
tutum | 1.00 | 3.00 | 1.26 | 1.00 |
deger | 1.00 | 11.00 | 1.16 | 1.00 |
ozguven | 1.00 | 3.00 | 1.72 | 2.00 |
bsgturm4_guncel <- bsgturm4_ %>%
filter(
cinsiyet %in% c(1, 2),
deger %in% c(1, 2)
)
bsgturm4_guncel <- bsgturm4_ %>%
mutate(
tutum = 4 - tutum,
deger = 4 - deger,
ozguven = 4 - ozguven
)
bsgturm4_guncel %>%
summarise(
across(
everything(),
list(
Kayıp_Adedi = ~sum(is.na(.)),
Kayıp_Yuzdesi = ~mean(is.na(.)) * 100
)
)
) %>%
pivot_longer(
cols = everything(),
names_to = c("Değişken", ".value"),
names_sep = "_"
)
## Warning: Expected 2 pieces. Additional pieces discarded in 12 rows [1, 2, 3, 4, 5, 6, 7,
## 8, 9, 10, 11, 12].
# Değişken bazında kayıp veri yüzdesini hesapla
missing_summary <- bsgturm4_guncel %>%
summarise(across(everything(), ~mean(is.na(.))*100)) %>%
pivot_longer(cols = everything(), names_to = "Değişken", values_to = "Kayıp_Yüzde")
# Grafik oluştur
ggplot(missing_summary, aes(x = reorder(Değişken, -Kayıp_Yüzde), y = Kayıp_Yüzde)) +
geom_col(fill = "steelblue") +
geom_text(aes(label = paste0(round(Kayıp_Yüzde,1), "%")), vjust = -0.5, size = 4) +
labs(title = "Değişken Bazında Kayıp Veri Yüzdesi",
x = "Değişkenler",
y = "Kayıp Veri (%)") +
theme_minimal() +
ylim(0, max(missing_summary$Kayıp_Yüzde) + 5) +
coord_flip()
* Tutum, değer ve özgüven değişkenlerinde kayıp verilerin olduğu görülmektedir. En fazla kayıp verinin tutum değişkeninde olduğu görülmüştür.
library(MissMech)
TestMCARNormality(bsgturm4_guncel)
## Call:
## TestMCARNormality(data = bsgturm4_guncel)
##
## Number of Patterns: 3
##
## Total number of cases used in the analysis: 312
##
## Pattern(s) used:
## IDSTUD cinsiyet basari tutum deger ozguven
## group.1 1 1 1 1 1 1
## group.2 1 1 1 1 1 NA
## group.3 1 1 1 NA 1 1
## Number of cases
## group.1 288
## group.2 11
## group.3 13
##
##
## Test of normality and Homoscedasticity:
## -------------------------------------------
##
## Hawkins Test:
##
## P-value for the Hawkins test of normality and homoscedasticity: 3.018441e-28
##
## Either the test of multivariate normality or homoscedasticity (or both) is rejected.
## Provided that normality can be assumed, the hypothesis of MCAR is
## rejected at 0.05 significance level.
##
## Non-Parametric Test:
##
## P-value for the non-parametric test of homoscedasticity: 0.2026463
##
## Reject Normality at 0.05 significance level.
## There is not sufficient evidence to reject MCAR at 0.05 significance level.
Sonuçlar incelendiğinde MCAR reddedilmediği, eksik veriler tamamen rastgele olduğu söylenebilir.
Kayıp veriler sürekli değişkenlerin de olduğu düşünüldüğünden ortalama ile veri ataması yapılabilir.
bsgturm4_guncel_imputed <- bsgturm4_guncel %>%
mutate(
across(
c(tutum, deger, ozguven),
~ifelse(is.na(.), mean(., na.rm = TRUE), .)
)
)
#Kayıp veri ataması sonrası kontrol
sum(is.na(bsgturm4_guncel_imputed))
## [1] 0
z_skorlari <- bsgturm4_guncel_imputed %>%
mutate(
z_tutum = scale(tutum),
z_deger = scale(deger),
z_ozguven = scale(ozguven)
)
uc_degerler <- z_skorlari %>%
mutate(
uc_tutum = ifelse(abs(z_tutum) > 3, 1, 0),
uc_deger = ifelse(abs(z_deger) > 3, 1, 0),
uc_ozguven = ifelse(abs(z_ozguven) > 3, 1, 0)
)
uc_degerler %>%
summarise(
tutum_uc = sum(uc_tutum, na.rm = TRUE),
deger_uc = sum(uc_deger, na.rm = TRUE),
ozguven_uc = sum(uc_ozguven, na.rm = TRUE)
)
z_skorlari_long <- z_skorlari %>%
select(tutum, deger, ozguven) %>%
mutate(row_id = row_number()) %>%
pivot_longer(
cols = c(tutum, deger, ozguven),
names_to = "variable",
values_to = "value"
) %>%
group_by(variable) %>%
mutate(z_score = scale(value)) %>%
ungroup()
uc_deger_tablosu <- z_skorlari_long %>%
filter(abs(z_score) > 3) %>%
select(row_id, variable, z_score)
## Warning: Using one column matrices in `filter()` was deprecated in dplyr 1.1.0.
## ℹ Please use one dimensional logical vectors instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
uc_deger_tablosu
uc_row_idler <- uc_deger_tablosu$row_id
bsgturm4_temiz <- bsgturm4_guncel_imputed %>%
mutate(row_id = row_number()) %>%
filter(!row_id %in% uc_row_idler) %>%
select(-row_id)
# Kontrol
nrow(bsgturm4_temiz)
## [1] 302
#Mahalonobis Uzaklığı İle Çok değişkenli Uç değerlerin İncelenmesi
veri_numeric <- bsgturm4_temiz %>%
select(tutum, deger, ozguven)
mahalanobis_mesafe <- mahalanobis(
x = veri_numeric,
center = colMeans(veri_numeric, na.rm = TRUE),
cov = cov(veri_numeric, use = "complete.obs")
)
kritik_esik <- qchisq(0.975, df = ncol(veri_numeric))
bsgturm4_temiz_mahal <- bsgturm4_temiz %>%
mutate(mahalanobis_mesafe = mahalanobis_mesafe,
uc_deger_mahal = ifelse(mahalanobis_mesafe > kritik_esik, 1, 0))
table(bsgturm4_temiz_mahal$uc_deger_mahal)
##
## 0 1
## 292 10
# Uç değerin listelenmesi
bsgturm4_temiz_mahal %>%
filter(uc_deger_mahal == 1)
bsgturm4_final <- bsgturm4_temiz_mahal %>%
filter(uc_deger_mahal == 0) %>%
select(-mahalanobis_mesafe, -uc_deger_mahal)
nrow(bsgturm4_final)
## [1] 292
# Skewness ve kurtosis değerlerini hesaplanması
tek_degisk_normallik <- bsgturm4_final %>%
summarise(
tutum_skew = skewness(tutum, na.rm = TRUE),
tutum_kurt = kurtosis(tutum, na.rm = TRUE),
deger_skew = skewness(deger, na.rm = TRUE),
deger_kurt = kurtosis(deger, na.rm = TRUE),
ozguven_skew = skewness(ozguven, na.rm = TRUE),
ozguven_kurt = kurtosis(ozguven, na.rm = TRUE)
)
tek_degisk_normallik
tek_degisk_normallik_long <- tek_degisk_normallik %>%
pivot_longer(
cols = everything(),
names_to = c("Değişken", "Özellik"),
names_sep = "_"
) %>%
mutate(
Özellik = dplyr::recode(Özellik,
skew = "Çarpıklık",
kurt = "Basıklık")
)
# 1. Veriyi uzun formata getiriyoruz (pivot_longer)
veri_long <- bsgturm4_final %>%
pivot_longer(
cols = c(tutum, deger, ozguven),
names_to = "Değişken",
values_to = "Değer"
)
# 2. Grafik: Histogram + Normal dağılım eğrisi
ggplot(veri_long, aes(x = Değer)) +
geom_histogram(aes(y = ..density..), bins = 30, fill = "skyblue", color = "black", alpha = 0.7) +
stat_function(fun = dnorm,
args = list(mean = mean(veri_long$Değer, na.rm = TRUE),
sd = sd(veri_long$Değer, na.rm = TRUE)),
color = "red", size = 1.2) +
facet_wrap(~Değişken, scales = "free") +
labs(
title = "Değişken Bazında Normal Dağılım Eğrisi ve Histogram",
x = "Değer",
y = "Yoğunluk"
) +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
library(MVN)
mvn_sonuc <- mvn(
data = bsgturm4_final[, c("tutum", "deger", "ozguven")],
mvnTest = "hz", # Henze-Zirkler testi
univariateTest = "AD", # Anderson-Darling testi
univariatePlot = "none",# Grafik istemiyoruz
multivariatePlot = "none" # Grafik istemiyoruz
)
mvn_sonuc
## $multivariateNormality
## Test HZ p value MVN
## 1 Henze-Zirkler 57.25261 0 NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling tutum 78.2718 <0.001 NO
## 2 Anderson-Darling deger 96.0184 <0.001 NO
## 3 Anderson-Darling ozguven 27.8531 <0.001 NO
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew Kurtosis
## tutum 292 2.874247 0.3094699 3.000000 2 3 3 3 -2.3446884 3.7864547
## deger 292 2.920713 0.2644706 3.000000 2 3 3 3 -3.1554588 8.0744603
## ozguven 292 2.341729 0.7466935 2.281457 1 3 2 3 -0.6795308 -0.9028807
library(car)
## Loading required package: carData
##
## Attaching package: 'carData'
## The following objects are masked from 'package:sur':
##
## Anscombe, States
##
## Attaching package: 'car'
## The following object is masked from 'package:expss':
##
## recode
## The following object is masked from 'package:psych':
##
## logit
## The following object is masked from 'package:dplyr':
##
## recode
## The following object is masked from 'package:purrr':
##
## some
bsgturm4_final <- bsgturm4_final %>%
mutate(cinsiyet = as.factor(cinsiyet))
levene_sonuclar <- list(
tutum = leveneTest(tutum ~ cinsiyet, data = bsgturm4_final),
deger = leveneTest(deger ~ cinsiyet, data = bsgturm4_final),
ozguven = leveneTest(ozguven ~ cinsiyet, data = bsgturm4_final)
)
levene_ozet <- data.frame(
Degisken = names(levene_sonuclar),
F_degeri = sapply(levene_sonuclar, function(x) round(x$`F value`[1], 3)),
p_degeri = sapply(levene_sonuclar, function(x) round(x$`Pr(>F)`[1], 3))
)
print(levene_ozet)
## Degisken F_degeri p_degeri
## tutum tutum 0.131 0.878
## deger deger 0.151 0.860
## ozguven ozguven 0.834 0.435
library(ggcorrplot)
korelasyon_matrisi <- cor(bsgturm4_final[, c("tutum", "deger", "ozguven")], use = "complete.obs")
ggcorrplot(
korelasyon_matrisi,
lab = TRUE,
lab_size = 5,
colors = c("blue", "white", "red"),
outline.color = "black",
ggtheme = ggplot2::theme_minimal()
)
* Yapılan korelasyon analizi sonucunda, değişkenler arasındaki ilişkilerin oldukça zayıf düzeyde olduğu görülmüştür.
Tutum ile özgüven arasında pozitif yönlü ve zayıf bir ilişki bulunmuştur (r = .22).
Tutum ile değer arasında ise negatif yönlü, ancak çok zayıf bir ilişki gözlemlenmiştir (r = -.08).
Benzer şekilde, değer ile özgüven arasındaki ilişki de pozitif yönde ve oldukça zayıf düzeydedir (r = .06).
Genel olarak, değişkenler arasında anlamlı ve güçlü bir ilişki bulunmamaktadır.
library(car)
library(dplyr)
library(knitr)
library(kableExtra)
vif_model <- lm(basari ~ tutum + deger + ozguven, data = bsgturm4_final)
vif_values <- vif(vif_model)
tolerance_values <- 1 / vif_values
vif_results <- data.frame(
Degisken = names(vif_values),
VIF = round(vif_values, 2),
Tolerans = round(tolerance_values, 2)
)
vif_results %>%
kable(caption = "VIF ve Tolerans Değerleri", align = "c") %>%
kable_styling(full_width = TRUE, position = "center") %>%
column_spec(1, bold = TRUE) %>%
column_spec(2, color = "red") %>%
column_spec(3, color = "blue") %>%
kable_styling(latex_options = c("striped", "hold_position")) %>%
row_spec(0, bold = TRUE, background = "#D9EAD3") %>%
row_spec(1:nrow(vif_results), background = "#F6F6F6")
| Degisken | VIF | Tolerans | |
|---|---|---|---|
| tutum | tutum | 1.06 | 0.94 |
| deger | deger | 1.01 | 0.99 |
| ozguven | ozguven | 1.06 | 0.95 |
*Yapılan çoklu doğrusal bağlantı analizine göre, tüm değişkenlerin VIF değerleri 5’in oldukça altında kalmıştır (tutum VIF = 1.06, değer VIF = 1.01, özgüven VIF = 1.06). Benzer şekilde, tolerans değerlerinin tamamı 0.10 eşik değerinin üzerinde bulunmuştur (tutum = 0.94, değer = 0.99, özgüven = 0.95). Bu sonuçlar, modelde çoklu doğrusal bağlantı (multicollinearity) sorununun bulunmadığını ve değişkenler arasında yüksek bir doğrusal ilişki olmadığını göstermektedir.
library(MASS)
##
## Attaching package: 'MASS'
## The following object is masked from 'package:olsrr':
##
## cement
## The following object is masked from 'package:plotly':
##
## select
## The following object is masked from 'package:dplyr':
##
## select
model1 <- lm(basari ~ tutum + deger + ozguven + cinsiyet, data = bsgturm4_final)
step_model <- stepAIC(model1, direction = "both")
## Start: AIC=2722.68
## basari ~ tutum + deger + ozguven + cinsiyet
##
## Df Sum of Sq RSS AIC
## - cinsiyet 2 34825 3175399 2721.9
## - deger 1 20873 3161448 2722.6
## <none> 3140575 2722.7
## - tutum 1 31597 3172171 2723.6
## - ozguven 1 874335 4014910 2792.4
##
## Step: AIC=2721.9
## basari ~ tutum + deger + ozguven
##
## Df Sum of Sq RSS AIC
## - deger 1 19333 3194733 2721.7
## <none> 3175399 2721.9
## + cinsiyet 2 34825 3140575 2722.7
## - tutum 1 32198 3207598 2722.8
## - ozguven 1 880332 4055732 2791.4
##
## Step: AIC=2721.68
## basari ~ tutum + ozguven
##
## Df Sum of Sq RSS AIC
## <none> 3194733 2721.7
## + deger 1 19333 3175399 2721.9
## - tutum 1 27955 3222688 2722.2
## + cinsiyet 2 33285 3161448 2722.6
## - ozguven 1 905253 4099986 2792.5
summary(step_model)
##
## Call:
## lm(formula = basari ~ tutum + ozguven, data = bsgturm4_final)
##
## Residuals:
## Min 1Q Median 3Q Max
## -376.45 -67.18 -1.54 65.57 301.58
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 173.971 58.009 2.999 0.00294 **
## tutum 32.442 20.401 1.590 0.11287
## ozguven 76.514 8.455 9.049 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 105.1 on 289 degrees of freedom
## Multiple R-squared: 0.2476, Adjusted R-squared: 0.2424
## F-statistic: 47.56 on 2 and 289 DF, p-value: < 2.2e-16
Sonuç olarak, tutum ve özgüven değişkenleri birlikte matematik başarısını yordamaktadır.
Model genel olarak istatistiksel olarak anlamlı bulunmuştur (F(2, 289) = 47.56, p < .001).
Modele göre, tutum ve özgüven değişkenleri birlikte başarı değişkenindeki varyansın yaklaşık %25’ini açıklamaktadır (R² = .2476, Adj. R² = .2424).
Özellikle, özgüven değişkeninin başarı üzerindeki etkisi istatistiksel açıdan anlamlı ve güçlü bulunmuştur (p < .001).
Buna karşılık, tutum değişkeninin etkisi istatistiksel olarak anlamlı bulunmamıştır (p = .113).
model_araci1 <- lm(ozguven ~ cinsiyet, data = bsgturm4_final)
summary(model_araci1)
##
## Call:
## lm(formula = ozguven ~ cinsiyet, data = bsgturm4_final)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.35489 -0.35489 -0.04248 0.65285 0.67607
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.32393 0.06213 37.406 <2e-16 ***
## cinsiyet2 0.03096 0.08771 0.353 0.724
## cinsiyet22 0.67607 0.75068 0.901 0.369
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7481 on 289 degrees of freedom
## Multiple R-squared: 0.00311, Adjusted R-squared: -0.003789
## F-statistic: 0.4508 on 2 and 289 DF, p-value: 0.6376
Model genel olarak istatistiksel açıdan anlamlı bulunmamıştır (p = .638).
Bu sonuçlar, aracılık analizi açısından ilk koşulun — yani bağımsız değişkenin (cinsiyet) aracı değişkeni (özgüven) anlamlı şekilde etkilemesi koşulunun — sağlanmadığını göstermektedir.
model_araci2 <- lm(basari ~ cinsiyet + ozguven, data = bsgturm4_final)
summary(model_araci2)
##
## Call:
## lm(formula = basari ~ cinsiyet + ozguven, data = bsgturm4_final)
##
## Residuals:
## Min 1Q Median 3Q Max
## -382.18 -71.05 -4.78 67.45 293.12
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 250.196 21.120 11.846 <2e-16 ***
## cinsiyet2 21.373 12.339 1.732 0.0843 .
## cinsiyet22 -17.327 105.733 -0.164 0.8699
## ozguven 79.245 8.274 9.578 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 105.2 on 288 degrees of freedom
## Multiple R-squared: 0.2491, Adjusted R-squared: 0.2412
## F-statistic: 31.84 on 3 and 288 DF, p-value: < 2.2e-16
Yapılan analizler sonucunda, cinsiyet ve özgüven değişkenlerinin birlikte matematik başarısını anlamlı şekilde yordadığı bulunmuştur (F(3, 288) = 31.84, p < .001).
Model, matematik başarısındaki varyansın yaklaşık %25’ini açıklamaktadır (R² = .2491, Adj. R² = .2412).
Özgüven değişkeni, matematik başarısının güçlü ve anlamlı bir yordayıcısıdır (p < .001).
Buna karşın, cinsiyet değişkeninin doğrudan etkisi istatistiksel olarak anlamlı bulunmamıştır (p = .0843 ve p = .8699).
etkilesim) oluşturulmuştur.bsgturm4_final <- bsgturm4_final %>%
mutate(etkilesim = as.numeric(cinsiyet) * ozguven)
model_duzenleyici <- lm(basari ~ ozguven + cinsiyet + etkilesim, data = bsgturm4_final)
summary(model_duzenleyici)
##
## Call:
## lm(formula = basari ~ ozguven + cinsiyet + etkilesim, data = bsgturm4_final)
##
## Residuals:
## Min 1Q Median 3Q Max
## -378.39 -67.21 -2.82 67.32 286.22
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 271.88 27.71 9.813 <2e-16 ***
## ozguven 49.90 25.67 1.944 0.0529 .
## cinsiyet2 -25.48 40.70 -0.626 0.5318
## cinsiyet22 -131.12 141.55 -0.926 0.3551
## etkilesim 20.02 16.57 1.208 0.2281
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 105.1 on 287 degrees of freedom
## Multiple R-squared: 0.2529, Adjusted R-squared: 0.2424
## F-statistic: 24.28 on 4 and 287 DF, p-value: < 2.2e-16