90 lines
2.9 KiB
R
90 lines
2.9 KiB
R
|
# testowy egzamin
|
||
|
|
||
|
# ładowanie danych csv
|
||
|
computers <- read.csv("http://pp98647.home.amu.edu.pl/wp-content/uploads/2021/06/computers.csv")
|
||
|
spotify <- read.csv("http://pp98647.home.amu.edu.pl/wp-content/uploads/2021/06/spotify.csv")
|
||
|
weight_height <- read.csv("http://pp98647.home.amu.edu.pl/wp-content/uploads/2021/06/weight-height.csv")
|
||
|
|
||
|
|
||
|
# ZAD 2 - tego trochę nie rozumiem
|
||
|
w_test <- function(x, istotnosc, delta_zero, alternative = c('two.sided', 'less', 'greater')) {
|
||
|
|
||
|
# statystyka testowa
|
||
|
ss <- (1 / length(x)) * (var(x) - mean(x))
|
||
|
statistic <- length(x) * ss / delta_zero * delta_zero
|
||
|
|
||
|
# parametr w obszarach krytycznych
|
||
|
d <- length(x) - 1
|
||
|
|
||
|
# poziom istotności
|
||
|
alternative <- match.arg(alternative)
|
||
|
p_value <- istotnosc
|
||
|
p_value <- switch(alternative,
|
||
|
'two.sided' = 2 * min(p_value, 1 - p_value),
|
||
|
'greater' = p_value,
|
||
|
'less' = 1 - p_value)
|
||
|
|
||
|
# rezultat
|
||
|
names(statistic) <- 'T'
|
||
|
names(d) <- 'num df'
|
||
|
result <- list(statistic = statistic,
|
||
|
parameter = d,
|
||
|
p.value = p_value,
|
||
|
alternative = alternative,
|
||
|
method = 'Test istotności dla wariancji w modelu normalnym',
|
||
|
data.name = deparse(substitute(x)))
|
||
|
class(result) <- 'htest'
|
||
|
return(result)
|
||
|
}
|
||
|
|
||
|
|
||
|
# ZAD 5
|
||
|
model_1 <- lm(valence ~ acousticness + danceability + energy + instrumentalness +
|
||
|
liveness + loudness + speechiness + tempo, data = spotify)
|
||
|
|
||
|
summary(model_1)
|
||
|
|
||
|
step(model_1)
|
||
|
|
||
|
model_2 <- lm(valence ~ acousticness + danceability + energy + instrumentalness +
|
||
|
liveness + loudness + speechiness, data = spotify)
|
||
|
|
||
|
new_data <- data.frame(acousticness=2.84e-06, danceability=0.305, energy=0.827,
|
||
|
instrumentalness=2.45e-03, liveness=0.3350, loudness=-5.789,
|
||
|
speechiness=0.1470, tempo=159.882)
|
||
|
|
||
|
stats::predict(model_2, new_data, interval = "prediction")
|
||
|
|
||
|
new_data <- data.frame(acousticness=2.84e-06, danceability=0.405, energy=0.827,
|
||
|
instrumentalness=2.45e-03, liveness=0.3350, loudness=-5.789,
|
||
|
speechiness=0.1470, tempo=159.882)
|
||
|
|
||
|
stats::predict(model_2, new_data, interval = "prediction")
|
||
|
|
||
|
|
||
|
# ZAD 6
|
||
|
par(mfrow = c(1, 2))
|
||
|
|
||
|
male <- weight_height[weight_height$Gender == "Male", ]
|
||
|
shapiro.test(male$Height)
|
||
|
qqnorm(male$Height)
|
||
|
mean(male$Height)
|
||
|
var(male$Height)
|
||
|
|
||
|
female <- weight_height[weight_height$Gender == "Female", ]
|
||
|
shapiro.test(female$Height)
|
||
|
qqnorm(female$Height)
|
||
|
mean(female$Height)
|
||
|
var(female$Height)
|
||
|
|
||
|
t.test(male$Height, female$Height, alternative = 'greater')$p.value
|
||
|
#bardzo mała wartość, czyli hipoteza że kobiety są jest większe niż mężczyźni jest mało prawdopodobne
|
||
|
|
||
|
|
||
|
# ZAD 7
|
||
|
selected <- computers[computers$screen == 14, ]
|
||
|
liczebnosc <- table(selected$ram)
|
||
|
prop.table(liczebnosc)*100
|
||
|
ram_procent <- data.frame(cbind(liczebnosc = table(selected$ram),
|
||
|
procent = prop.table(selected$ram)))
|