library(ggplot2)
library(dplyr)
library(car)
df = read.csv("blue light and angles wide.csv", header = T)
df2 = read.csv("blue light and angles long.csv", header = T)
summary(df)
ComputerScore PaperScore X
Min. :0.0000 Min. :0.0000 Length:145
1st Qu.:0.2500 1st Qu.:0.2500 Class :character
Median :0.5000 Median :0.5000 Mode :character
Mean :0.5431 Mean :0.5914
3rd Qu.:1.0000 3rd Qu.:1.0000
Max. :1.0000 Max. :1.0000
a = ggplot(df2, aes(x = Group, y = Score, fill = Group)) +
geom_boxplot(position = position_dodge(width = 0.8), notch = F,) + # Dodge boxes for side-by-side comparison
geom_jitter(width = 0.2, alpha = 0.5)+
stat_summary(fun = mean, geom = "point", shape = 23, size = 3, fill = "red")+
labs(x = "Format",
y = "Score",
fill = "Format") +
theme_classic() +
theme(axis.text.x = element_text(size = 18), # Adjust the size value as needed
axis.text.y = element_text(size = 18),
axis.title.x = element_text(size = 24),
axis.title.y = element_text(size = 24),)
a

ggsave("Blue light x angle.png", plot=a, dpi = 300, width =12, height = 12)
cor = cor(df)
Error in cor(df) : 'x' must be numeric
# Assuming df has columns 'before' and 'after'
df$differences <- df$PaperScore - df$ComputerScore
shapiro_test_result <- shapiro.test(df$differences)
print(shapiro_test_result)
Shapiro-Wilk normality test
data: df$differences
W = 0.93902, p-value = 6.254e-06
qqnorm(df$differences)
qqline(df$differences, col = "red")

# Paired t-test
t_test_result <- t.test(df$PaperScore, df$ComputerScore, paired = TRUE)
print(t_test_result)
Paired t-test
data: df$PaperScore and df$ComputerScore
t = 1.0807, df = 144, p-value = 0.2816
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
-0.04001555 0.13656728
sample estimates:
mean difference
0.04827586
# Assuming df has columns 'Net.Speed.PreGinger' and 'Net.Speed.PostGinger'
wilcox_test_result <- wilcox.test(df$PaperScore, df$ComputerScore, paired = TRUE)
print(wilcox_test_result)
Wilcoxon signed rank test with continuity correction
data: df$PaperScore and df$ComputerScore
V = 3271, p-value = 0.227
alternative hypothesis: true location shift is not equal to 0
# Extract the W statistic
V <- wilcox_test_result$statistic
# # Calculate the rank-biserial correlation
# n1 <- sum(df2$Ginger == "Net.Speed.PreGinger")
# n2 <- sum(df2$Ginger == "Net.Speed.PostGinger")
# rank_biserial <- (2 * W) / (n1 * n2) - 1
#
# print(rank_biserial)
n <- length(df$Net.Speed.PreGinger)
rank_biserial <- (2 * V) / (n * (n + 1)) - 1
print(rank_biserial)
V
Inf
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCmBgYHtyfQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoY2FyKQpgYGAKCmBgYHtyfQpkZiA9IHJlYWQuY3N2KCJibHVlIGxpZ2h0IGFuZCBhbmdsZXMgd2lkZS5jc3YiLCBoZWFkZXIgPSBUKQpkZjIgPSByZWFkLmNzdigiYmx1ZSBsaWdodCBhbmQgYW5nbGVzIGxvbmcuY3N2IiwgaGVhZGVyID0gVCkKYGBgCgpgYGB7cn0Kc3VtbWFyeShkZikKYGBgCgpgYGB7cn0KYSA9IGdncGxvdChkZjIsIGFlcyh4ID0gR3JvdXAsIHkgPSBTY29yZSwgZmlsbCA9IEdyb3VwKSkgKwogIGdlb21fYm94cGxvdChwb3NpdGlvbiA9IHBvc2l0aW9uX2RvZGdlKHdpZHRoID0gMC44KSwgbm90Y2ggPSBGLCkgKyAjIERvZGdlIGJveGVzIGZvciBzaWRlLWJ5LXNpZGUgY29tcGFyaXNvbgogIGdlb21faml0dGVyKHdpZHRoID0gMC4yLCBhbHBoYSA9IDAuNSkrCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9IDIzLCBzaXplID0gMywgZmlsbCA9ICJyZWQiKSsKICBsYWJzKHggPSAiRm9ybWF0IiwKICAgICAgIHkgPSAiU2NvcmUiLAogICAgICAgZmlsbCA9ICJGb3JtYXQiKSArCiAgdGhlbWVfY2xhc3NpYygpICsKICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gMTgpLCAgICMgQWRqdXN0IHRoZSBzaXplIHZhbHVlIGFzIG5lZWRlZAogICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxOCksCiAgICAgICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAyNCksCiAgICAgICAgYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAyNCksKQphCmBgYAoKYGBge3J9Cmdnc2F2ZSgiQmx1ZSBsaWdodCB4IGFuZ2xlLnBuZyIsIHBsb3Q9YSwgZHBpID0gMzAwLCB3aWR0aCA9MTIsIGhlaWdodCA9IDEyKQpgYGAKCmBgYHtyfQpjb3IgPSBjb3IoZGYpCmNvcgoKY29yLnRlc3QoZGYkUGFwZXJTY29yZSwgZGYkQ29tcHV0ZXJTY29yZSwgbWV0aG9kID0gInBlYXJzb24iKQpgYGAKCgpgYGB7cn0KIyBBc3N1bWluZyBkZiBoYXMgY29sdW1ucyAnYmVmb3JlJyBhbmQgJ2FmdGVyJwpkZiRkaWZmZXJlbmNlcyA8LSBkZiRQYXBlclNjb3JlIC0gZGYkQ29tcHV0ZXJTY29yZQoKc2hhcGlyb190ZXN0X3Jlc3VsdCA8LSBzaGFwaXJvLnRlc3QoZGYkZGlmZmVyZW5jZXMpCnByaW50KHNoYXBpcm9fdGVzdF9yZXN1bHQpCmBgYAoKYGBge3J9CnFxbm9ybShkZiRkaWZmZXJlbmNlcykKcXFsaW5lKGRmJGRpZmZlcmVuY2VzLCBjb2wgPSAicmVkIikKYGBgCgoKYGBge3J9CiMgUGFpcmVkIHQtdGVzdAp0X3Rlc3RfcmVzdWx0IDwtIHQudGVzdChkZiRQYXBlclNjb3JlLCBkZiRDb21wdXRlclNjb3JlLCBwYWlyZWQgPSBUUlVFKQoKcHJpbnQodF90ZXN0X3Jlc3VsdCkKCgojIEFzc3VtaW5nIGRmIGhhcyBjb2x1bW5zICdOZXQuU3BlZWQuUHJlR2luZ2VyJyBhbmQgJ05ldC5TcGVlZC5Qb3N0R2luZ2VyJwp3aWxjb3hfdGVzdF9yZXN1bHQgPC0gd2lsY294LnRlc3QoZGYkUGFwZXJTY29yZSwgZGYkQ29tcHV0ZXJTY29yZSwgcGFpcmVkID0gVFJVRSkKCnByaW50KHdpbGNveF90ZXN0X3Jlc3VsdCkKYGBgCgpgYGB7cn0KIyBFeHRyYWN0IHRoZSBXIHN0YXRpc3RpYwpWIDwtIHdpbGNveF90ZXN0X3Jlc3VsdCRzdGF0aXN0aWMKCiMgIyBDYWxjdWxhdGUgdGhlIHJhbmstYmlzZXJpYWwgY29ycmVsYXRpb24KIyBuMSA8LSBzdW0oZGYyJEdpbmdlciA9PSAiTmV0LlNwZWVkLlByZUdpbmdlciIpCiMgbjIgPC0gc3VtKGRmMiRHaW5nZXIgPT0gIk5ldC5TcGVlZC5Qb3N0R2luZ2VyIikKIyByYW5rX2Jpc2VyaWFsIDwtICgyICogVykgLyAobjEgKiBuMikgLSAxCiMgCiMgcHJpbnQocmFua19iaXNlcmlhbCkKCm4gPC0gbGVuZ3RoKGRmJE5ldC5TcGVlZC5QcmVHaW5nZXIpCnJhbmtfYmlzZXJpYWwgPC0gKDIgKiBWKSAvIChuICogKG4gKyAxKSkgLSAxCgpwcmludChyYW5rX2Jpc2VyaWFsKQpgYGAKCgo=