Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- setwd("E:/OneDrive/Dokumenty/Skola/PS/ukol_workspace")
- # Instalování balíčků
- install.packages("readxl")
- install.packages("dplyr")
- install.packages("moments")
- # Lze provést přes okno Packages -> Install
- # Načtení balíčku (nutno opakovat při každém novém spuštění Rka, vhodné mít na začátku skriptu)
- library(readxl)
- library(dplyr)
- library(openxlsx)
- data = read_excel("ukol_13.xlsx",
- sheet = "Vysledky mereni" # specifikace listu v xlsx souboru
- ) # řádky, které se přeskočí
- # Přejmenování sloupců - je-li nutné
- colnames(data)=c("","A1AM","A1MM", "A1CHT","A2AM","A2MM", "A2CHT","A3AM","A3MM", "A3CHT","A4AM","A4MM", "A4CHT")
- # nebo pomocí názvů
- dataA1AM = data %>%
- select(A1AM)
- dataA1AM_omited=na.omit(dataA1AM)
- dataA1AM_stack = stack(dataA1AM_omited)
- dataA2AM = data %>%
- select(A2AM)
- dataA2AM_omited=na.omit(dataA2AM)
- dataA2AM_stack = stack(dataA2AM_omited)
- minimumA1= min(dataA1AM_omited);
- maximumA1= max(dataA1AM_omited);
- minimumA2= min(dataA2AM_omited);
- maximumA2= max(dataA2AM_omited);
- dolniKvartilA1 = quantile(dataA1AM_omited$A1AM, probs = 0.25)
- horniKvartilA1 = quantile(dataA1AM_omited$A1AM, probs = 0.75)
- dolniKvartilA2 =quantile(dataA2AM_omited$A2AM, probs = 0.25)
- horniKvartilA2 = quantile(dataA2AM_omited$A2AM, probs = 0.75)
- medianA1 = median(dataA1AM_omited$A1AM)
- medianA2 = median(dataA2AM_omited$A2AM)
- prumerA1 = mean(dataA1AM_omited$A1AM)
- prumerA2 = mean(dataA2AM_omited$A2AM)
- smerodatnaOdchylkaA1 = sd(dataA1AM_omited$A1AM)
- smerodatnaOdchylkaA2 = sd(dataA2AM_omited$A2AM)
- variacniKoefA1 =100*smerodatnaOdchylkaA1/prumerA1
- variacniKoefA2 =100*smerodatnaOdchylkaA2/prumerA2
- sikmostA1 = moments::skewness(dataA1AM_omited$A1AM)
- sikmostA2 = moments::skewness(dataA2AM_omited$A2AM)
- spicatostA1 = moments::kurtosis(dataA1AM_omited$A1AM)-3
- spicatostA2 = moments::kurtosis(dataA2AM_omited$A2AM)-3
- iqtA1 = horniKvartilA1 - dolniKvartilA1
- iqtA2 =horniKvartilA2 - dolniKvartilA2
- finaliqtA1= 1.5* iqtA1
- finaliqtA2= 1.5* iqtA2
- hradbaDOlniMezA1=dolniKvartilA1-finaliqtA1
- hradbaHorniMezA1=dolniKvartilA1+finaliqtA1
- hradbaDOlniMezA2=dolniKvartilA2-finaliqtA2
- hradbaHorniMezA2=dolniKvartilA2+finaliqtA2
- outliersA1 <- boxplot(dataA1AM_omited$A1AM, plot=TRUE)$out
- outliersA2 <- boxplot(dataA2AM_omited$A2AM, plot=TRUE)$out
- multibox <-boxplot(
- dataA1AM_omited$A1AM, dataA2AM_omited$A2AM,
- plot=TRUE,
- #main="Automaticky měřené velikosti zrn (nm)",
- names=c("Typ A1","Typ A2"),
- ylab="Velikost (nm)")
- #kontrola zda jsou odlehle pozorovani v datech vyskytnuta
- #dataA1AM_omited[which(dataA1AM_omited$A1AM %in% outliers),]
- dataA1AM_omited_withoutOutliers <- dataA1AM_omited[-which(dataA1AM_omited$A1AM %in% outliersA1),]
- dataA2AM_omited_withoutOutliers <- dataA2AM_omited[-which(dataA2AM_omited$A2AM %in% outliersA2),]
- ## po odstraneni odlehlych pozorovani
- dataA1AM_omited<-dataA1AM_omited_withoutOutliers
- dataA2AM_omited<-dataA2AM_omited_withoutOutliers
- minimumA1= min(dataA1AM_omited);
- maximumA1= max(dataA1AM_omited);
- minimumA2= min(dataA2AM_omited);
- maximumA2= max(dataA2AM_omited);
- dolniKvartilA1 = quantile(dataA1AM_omited$A1AM, probs = 0.25)
- horniKvartilA1 = quantile(dataA1AM_omited$A1AM, probs = 0.75)
- dolniKvartilA2 =quantile(dataA2AM_omited$A2AM, probs = 0.25)
- horniKvartilA2 = quantile(dataA2AM_omited$A2AM, probs = 0.75)
- medianA1 = median(dataA1AM_omited$A1AM)
- medianA2 = median(dataA2AM_omited$A2AM)
- prumerA1 = mean(dataA1AM_omited$A1AM)
- prumerA2 = mean(dataA2AM_omited$A2AM)
- smerodatnaOdchylkaA1 = sd(dataA1AM_omited$A1AM,na.rm=T)
- smerodatnaOdchylkaA2 = sd(dataA2AM_omited$A2AM,na.rm=T)
- variacniKoefA1 =100*smerodatnaOdchylkaA1/prumerA1
- variacniKoefA2 =100*smerodatnaOdchylkaA2/prumerA2
- sikmostA1 = moments::skewness(dataA1AM_omited$A1AM)
- sikmostA2 = moments::skewness(dataA2AM_omited$A2AM)
- spicatostA1 = moments::kurtosis(dataA1AM_omited$A1AM)-3
- spicatostA2 = moments::kurtosis(dataA2AM_omited$A2AM)-3
- iqtA1 = horniKvartilA1 - dolniKvartilA1
- iqtA2 =horniKvartilA2 - dolniKvartilA2
- finaliqtA1= 1.5* iqtA1
- finaliqtA2= 1.5* iqtA2
- hradbaDOlniMezA1=dolniKvartilA1-finaliqtA1
- hradbaHorniMezA1=dolniKvartilA1+finaliqtA1
- hradbaDOlniMezA2=dolniKvartilA2-finaliqtA2
- hradbaHorniMezA2=dolniKvartilA2+finaliqtA2
- multibox_withoutOutliners <-boxplot(
- dataA1AM_omited_withoutOutliers$A1AM, dataA2AM_omited_withoutOutliers$A2AM,
- plot=TRUE,
- main="Automaticky měřené velikosti zrn (nm)",
- names=c("Typ A1","Typ A2"),
- ylab="Velikost (nm)")
- histogramA1 <- hist(dataA1AM_omited_withoutOutliers$A1AM,
- breaks=10,
- main="Histogram velikostí zrn typu A1",
- xlab="velikost (nm)",
- ylab="počet zrn",
- border="grey",
- xlim = c(15,17.5),
- ylim= c(0,15),
- labels = TRUE)
- xfit=seq(minimumA1, maximumA1,length =62) # generování hodnot pro osu x
- yfit=dnorm(xfit, mean=prumerA1, sd=smerodatnaOdchylkaA1) # generování hodnot pro osu y
- lines(xfit, yfit, col="black")
- histogramA2 <- hist(dataA2AM_omited_withoutOutliers$A2AM,
- breaks=10,
- main="Histogram velikostí zrn typu A2",
- xlab="velikost (nm)",
- ylab="počet zrn",
- border="grey", # barva ohraničení sloupců
- labels=TRUE,
- ylim= c(0,15),
- xlim = c(15,17.5))
- xfit=seq(minimumA2, maximumA2,length =64) # generování hodnot pro osu x
- yfit=dnorm(xfit, mean=prumerA2, sd=smerodatnaOdchylkaA2) # generování hodnot pro osu y
- lines(xfit, yfit, col="black")
- qqnorm(dataA1AM_omited_withoutOutliers$A1AM,xlab="Teoretické kvantily",ylab="Výběrové kvantily")
- qqline(dataA1AM_omited_withoutOutliers$A1AM)
- qqnorm(dataA2AM_omited_withoutOutliers$A2AM,xlab="Teoretické kvantily",ylab="Výběrové kvantily")
- qqline(dataA2AM_omited_withoutOutliers$A2AM)
- #to be clever test p-value >0.05 => normalita se NEZAMITA
- shapiro.test(dataA1AM_omited_withoutOutliers$A1AM)
- shapiro.test(dataA2AM_omited_withoutOutliers$A2AM)
- dat <- read.table(text = "A2 A1
- 47 45
- 17 17", header=TRUE)
- barplot(as.matrix(dat),
- horiz = TRUE,
- space = 0.5,
- names.arg = c("A1","A2"),
- col=gray.colors(0),
- main="Zastoupení výrobců ve výběru",
- xlim = c(0,65),
- xpd=TRUE
- )
- # prevod na procenta
- mydata <- data.frame(
- row.names =c("A1","A2","A3","A4"),
- ok =c(71.4 ,73.8, 72.4, 64.8),#45,48,42,35
- fail =c(28.6, 26.2, 27.6, 35.2))# 18,17,16,19
- x <- barplot(t(as.matrix(mydata)), col=gray.colors(2,alpha = 0.20),
- legend=FALSE, border=NA, args.legend=
- list(bty="n", border=NA), horiz=TRUE,
- ylab="Typ abraziva", xlab="%")
- text(x=30 ,y=x, labels=c("71.4% (45)","73.8% (48)","72.4% (42)","64.8% (35)"), col="black")
- text(x=85,y=x,labels=c("28.6% (18)","26.2% (17)","27.6% (16)","35.2% (19)"), col="black")
- sigma3HorniA1 = prumerA1 + (2 * smerodatnaOdchylkaA1)
- sigma3DolniA1 = prumerA1 - (2 * smerodatnaOdchylkaA1)
- sigma3HorniA2 = prumerA2 + (2 * smerodatnaOdchylkaA2)
- sigma3DolniA2 = prumerA2 - (2 * smerodatnaOdchylkaA2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement