Приложение 1 листинг программы
Листинг 2 - задания части 1
library(XML) library(plotrix) library(moments) library("writexl") library("ggplot2") url <- "http://www.pogodaiklimat.ru/history/34123.htm" years <- readHTMLTable(url, which = 1) table <- readHTMLTable(url, which = 2) table[table == 999.9] <- NA table <- na.omit(table) #1.1 #берем год с индексом 146 в первоначальной табличке, 100 в окончательной (той, которая без NA строк) print(years[146, ]) year <- as.numeric(table[100, ]) year <- year[! year %in% year[13]] #возьмем уровень значимости 0.05, тогда p-value будет максимально приближено к заданному уровню значимости из всех остальных p-value для данного датасета print(shapiro.test(year)) hist(year, breaks<-3) #1.2 # альфа - максимальное число рождения в бригаде, деленное на 200 # у нас альфа = 31/200 = 0.155 t.test(year, conf.level = 1 - 0.155) #получаем доверительный интервал: 2.818276 - 12.412494, среднее = 7.615385 #строим график, по оси x - номер месяца, по оси y - средняя температура plot(year, type="b", xlab="month number", ylab = "temperature") # проводим зеленые горизонтальные прямые, показывающие границы доверительного интервала, и красную, показывающую среднее значение abline(h=c(2.818276,12.412494, 7.615385 ), col=c("green", "green", "red") ) #1.3 print(median(year)) # медиана отобранной выборки не равна среднегодовой температуре, но попадает в доверительный интервал #1.4 print(EnvStats::varTest(year, alternative="greater", conf.level=0.95, sigma.squared = 100)) #Полученное значение p=0.1571947 > 0.05, следовательно, стандартное отклонение средней температуры в Воронеже в 2018 году не превышало 10 градусов с вероятностью 0.95 |
Листинг 2 - задания части 2
#2.2 url <- "http://www.pogodaiklimat.ru/history/34123.htm" years <- readHTMLTable(url, which = 1) table <- readHTMLTable(url, which = 2) table[table == 999.9] <- NA table <- na.omit(table) march <- as.numeric(table[,3]) april <- as.numeric(table[,4]) may <- as.numeric(table[,5]) groups <- c(rep("March", length(march)), rep("April", length(april)), rep("May", length(may))) #создаем группы p_values <- pairwise.t.test(c(march, april, may), g = groups, p.adj = "none") alpha <- 0.05 #пусть критерий значимости равняется 0.05 bonferroni_correction <- alpha / 3 #поправка Бонферрони, т.к. проверяем три выборки print(p_values) print(bonferroni_correction) |
