Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ZADANIE 1
- kwartyl <- function(dane, q)
- {
- pozycjaKwartyla = sum(dane$counts) * q
- nIsk <- dane$counts #liczebnosc skumulowana
- for(i in 1:length(dane$counts))
- {
- nIsk[i] = sum(dane$counts[1:i])
- }
- znaleziona = 0
- pozycja = 1
- while (znaleziona == 0)
- {
- if (pozycjaKwartyla < nIsk[pozycja] )
- znaleziona = 1
- else
- pozycja = pozycja + 1
- }
- xI0 = dane$breaks[pozycja] #dolna wartosc przedzialu z kwantylem
- nIskminus1 = nIsk[pozycja-1] #liczebnosc skumulowana przedzialu poprzedzajacego kwantyl
- nI0 = dane$counts[pozycja] #liczebnosc przedzialu z kwantylem
- rozpietoscPrzedzialu = dane$breaks[pozycja+1] - dane$breaks[pozycja]
- wynik = xI0 + ((pozycjaKwartyla - nIskminus1) * (rozpietoscPrzedzialu / nI0))
- return (wynik)
- }
- zad1a <- function(wektor)
- {
- sorted = sort(wektor) #szereg szczegolowy
- sredniaArytmetyczna = mean(sorted)
- sredniaHarmoniczna = 1 / mean(1 / sorted)
- sredniaGeometryczna = prod(sorted) ^ (1 / length(sorted))
- mediana = median(sorted)
- wariancja = var(sorted)
- odchylenieStandardowe = sqrt(wariancja)
- odchyleniePrzecietneOdMediany = sum(abs(sorted - mediana)) / length(sorted)
- kwartylQ1 = quantile(sorted, 0.25)
- kwartylQ3 = quantile(sorted, 0.75)
- odchylenieCwiartkowe = (quantile(sorted, 0.75) - quantile(sorted, 0.25)) / 2
- wspolczynnikZmiennosci = odchylenieStandardowe / sredniaArytmetyczna * 100
- wspolczynnikAsymetrii = (sum((sorted - sredniaArytmetyczna) ^ 3) / length(sorted)) / (odchylenieStandardowe ^ 3)
- wspolczynnikSkosnosci = 3*(sredniaArytmetyczna - mediana) / odchylenieStandardowe
- kurtoza = (sum((sorted - sredniaArytmetyczna) ^ 4) / length(sorted)) / (odchylenieStandardowe ^ 4)
- exces = kurtoza - 3
- wynik <- c(sredniaArytmetyczna, sredniaHarmoniczna, sredniaGeometryczna, wariancja, odchylenieStandardowe, mediana, odchyleniePrzecietneOdMediany, kwartylQ1, kwartylQ3, odchylenieCwiartkowe, wspolczynnikZmiennosci, wspolczynnikAsymetrii, wspolczynnikSkosnosci, kurtoza,exces)
- return (wynik)
- }
- zad1b <- function(wektor)
- {
- sr1 = hist(wektor) #szereg rozdzielczy
- sredniaArytmetyczna = sum(sr1$counts * sr1$mids) / sum(sr1$counts)
- sredniaHarmoniczna = sum(sr1$counts) / sum(sr1$counts / sr1$mids)
- sredniaGeometryczna = (prod(sr1$mids ^ sr1$counts)) ^ (1 / sum(sr1$counts))
- wariancja = sum(((sr1$mids-sredniaArytmetyczna) ^ 2) * sr1$counts) / sum(sr1$counts)
- odchylenieStandardowe = sqrt(wariancja)
- mediana = kwartyl(sr1,0.5)
- odchyleniePrzecietneOdMediany = sum(abs(sr1$mids - mediana) * sr1$counts) / sum(sr1$counts)
- kwartylQ1 = kwartyl(sr1, 0.25)
- kwartylQ3 = kwartyl(sr1, 0.75)
- odchylenieCwiartkowe = (kwartyl(sr1, 0.75) - kwartyl(sr1, 0.25)) / 2
- wspolczynnikZmiennosci = odchylenieStandardowe / sredniaArytmetyczna * 100
- wspolczynnikAsymetrii = (sum((sr1$mids - sredniaArytmetyczna) ^ 3 * sr1$counts) / sum(sr1$counts)) / (odchylenieStandardowe ^ 3)
- wspolczynnikSkosnosci = 3*(sredniaArytmetyczna - mediana) / odchylenieStandardowe
- kurtoza = (sum((sr1$mids - sredniaArytmetyczna) ^ 4 * sr1$counts) / sum(sr1$counts)) / (odchylenieStandardowe ^ 4)
- exces = kurtoza - 3
- wynik <- c(sredniaArytmetyczna, sredniaHarmoniczna, sredniaGeometryczna, wariancja, odchylenieStandardowe, mediana, odchyleniePrzecietneOdMediany, kwartylQ1, kwartylQ3, odchylenieCwiartkowe, wspolczynnikZmiennosci, wspolczynnikAsymetrii, wspolczynnikSkosnosci, kurtoza,exces)
- return (wynik)
- }
- zadanie1 = function(wektor1, wektor2)
- {
- wynik1a = zad1a(wektor1)
- wynik1b = zad1b(wektor1)
- table1 = data.frame(szczegołowy=wynik1a, rozdzielczy=wynik1b)
- row.names(table1) = c("Srednia arytmetyczna:", "Srednia harmoniczna:", "Srednia geometryczna:", "Wariancja nieobciazona:", "Odchylenie standardowe:", "Mediana:", "Odchylenie przecietne od mediany:","Kwartyl Q1:", "Kwartyl Q3:", "Odchylenie cwiartkowe:", "Wspolczynnik zmiennosci:", "Wspolczynnik asymetrii:", "Wspolczynnik skosnosci:", "Kurtoza:","Exces:")
- print(table1)
- histogram1 = hist(wektor1, labels = TRUE, plot = TRUE, main="Województwo dolnośląskie")
- wynik1a = zad1a(wektor2)
- wynik1b = zad1b(wektor2)
- table2 = data.frame(szczegółowy=wynik1a, rozdzielczy=wynik1b)
- row.names(table2) = c("Srednia arytmetyczna:", "Srednia harmoniczna:", "Srednia geometryczna:", "Wariancja nieobciazona:", "Odchylenie standardowe:", "Mediana:", "Odchylenie przecietne od miediany:", "Kwartyl Q1:", "Kwartyl Q3:", "Odchylenie cwiartkowe:", "Wspolczynnik zmiennosci:", "Wspolczynnik asymetrii:", "Wspolczynnik skosnosci:", "Kurtoza:", "Exces:")
- print(table2)
- histogram2 = hist(wektor2, labels = TRUE, plot = TRUE, main="Województwo lubuskie")
- }
- zadanie1(dane1[, 1], dane2[, 1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement