# trafic a Suècia # funcions diferenciaMitjanes <- function(dades) { dfSi <- subset(dades, limit == "yes") dfNo <- subset(dades, limit == "no") mSi <- mean(dfSi$y) mNo <- mean(dfNo$y) dif <- mSi - mNo return(dif) } maximNombreAccidents <- function(dades, any) { # suposem que el mamix es unic dfAny <- subset(dades, year == any) maxim <- max(dfAny$y) dfDiaMax <- subset(dfAny, y == maxim) limit <- dfDiaMax$limit return (c(maxim, limit)) } # programa principal # definicio taula de prova year <- c(1961, 1961, 1961, 1962, 1962) day <- c(1, 2, 3, 4, 5) limit <- c("no", "no", "no", "yes", "yes") y <- c(9, 11, 9, 15, 9) Traffic <- data.frame(year, day, limit, y, stringsAsFactors=FALSE) cat("\nDades de prova: \n") print(Traffic) dif <- diferenciaMitjanes(Traffic) cat("\nDiferencia si-no: ", dif, "\n") any <- 1961 maxim_limit <- maximNombreAccidents(Traffic, any) cat("any: ", any, "\n") cat("maxim: ", maxim_limit[1], "\n") cat("limit: ", maxim_limit[2], "\n") any <- 1962 maxim_limit <- maximNombreAccidents(Traffic, any) cat("any: ", any, "\n") cat("maxim: ", maxim_limit[1], "\n") cat("limit: ", maxim_limit[2], "\n") # base de dades cat("\nBase de dades: ") library(MASS) data(Traffic) #print(Traffic) dif <- diferenciaMitjanes(Traffic) cat("\nDiferencia si-no: ", dif, "\n") any <- 1961 maxim_limit <- maximNombreAccidents(Traffic, any) cat("any: ", any, "\n") cat("maxim: ", maxim_limit[1], "\n") cat("limit: ", maxim_limit[2], "\n") any <- 1962 maxim_limit <- maximNombreAccidents(Traffic, any) cat("any: ", any, "\n") cat("maxim: ", maxim_limit[1], "\n") cat("limit: ", maxim_limit[2], "\n")