Вы можете установить подкадр данных и выполнить t.test:
df1 <- subset(df, Score1 %in% 2:3)
Stabr Area_name Score1 Score2 POVALL_2018 Score3
1: AL AutaugaCounty 2 2 7,587 13.8
2: AL BaldwinCounty 2 2 21,069 9.8
3: AL BlountCounty 2 1 7,527 13.2
4: AL BullockCounty 3 6 3,610 42.5
5: AL ButlerCounty 3 6 4,731 24.5
6: AL CalhounCounty 3 2 21,719 19.5
7: AL CherokeeCounty 2 6 4,180 16.3
8: AL ChiltonCounty 2 1 7,542 17.3
9: AL ChoctawCounty 3 10 2,806 22.1
И выполнить t.test:
t.test(Score3~Score1,data = df1)
Welch Two Sample t-test
data: Score3 by Score1
t = -2.4293, df = 3.3817, p-value = 0.08372
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-29.148945 3.008945
sample estimates:
mean in group 2 mean in group 3
14.08 27.15
Поскольку у вас не так много образцов для каждой группы я (лично) предпочитаю использовать непараметрический c тест, такой как критерий Манна-Уитни (с функцией wilcox.test
):
wilcox.test(Score3~Score1,data = df1)
Wilcoxon rank sum test
data: Score3 by Score1
W = 0, p-value = 0.01587
alternative hypothesis: true location shift is not equal to 0
РЕДАКТИРОВАТЬ : t.test на основе значения Score1 (комментарий ОП)
Если вы хотите проверить все значения <3 и все значения> или = 3, вы можете добавить переменную с ifelse
утверждение типа:
df$Group <- ifelse(df$Score1 <3,"A","B")
t.test(Score3~Group,data = df)
Welch Two Sample t-test
data: Score3 by Group
t = -2.429, df = 7.6464, p-value = 0.04262
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-17.429041 -0.382388
sample estimates:
mean in group A mean in group B
14.08000 22.98571
отвечает ли оно на ваш вопрос?
Воспроизводимый пример:
structure(list(Stabr = c("AL", "AL", "AL", "AL", "AL", "AL",
"AL", "AL", "AL", "AL", "AL", "AL"), Area_name = c("AutaugaCounty",
"BaldwinCounty", "BlountCounty", "BullockCounty", "ButlerCounty",
"CalhounCounty", "ChambersCounty", "CherokeeCounty", "ChiltonCounty",
"ChoctawCounty", "ClayCounty", "CleburneCounty"), Score1 = c(2L,
2L, 2L, 3L, 3L, 3L, 6L, 2L, 2L, 3L, 9L, 8L), Score2 = c(2L, 2L,
1L, 6L, 6L, 2L, 5L, 6L, 1L, 10L, 10L, 4L), POVALL_2018 = c("7,587",
"21,069", "7,527", "3,610", "4,731", "21,719", "6,181", "4,180",
"7,542", "2,806", "2,285", "2,356"), Score3 = c(13.8, 9.8, 13.2,
42.5, 24.5, 19.5, 18.7, 16.3, 17.3, 22.1, 17.6, 16)), row.names = c(NA,
-12L), class = c("data.table", "data.frame"))