Data Programming

Homework 3

Author

Emilija Petrovska

Published

May 5, 2024

Solutions

1

library(datasets)
beaver1$dataset<-"Beaver1"
beaver2$dataset<-"Beaver2"
data<-rbind(beaver1,beaver2)
library(ggplot2)
ggplot(data, aes(x = time, y = temp, color = dataset)) +
  geom_line() +
  labs(title = "Temperature over Time",
       y = "Temperature (°C)")

2

c(EUR=1,datasets::euro)
        EUR         ATS         BEF         DEM         ESP         FIM 
   1.000000   13.760300   40.339900    1.955830  166.386000    5.945730 
        FRF         IEP         ITL         LUF         NLG         PTE 
   6.559570    0.787564 1936.270000   40.339900    2.203710  200.482000 
convert.all<-function(amounts, convert.to = "EUR"){
allcurrencyvalues<- c(EUR = 1, ATS = 13.7603, BEF = 40.3399, DEM = 1.95583, 
                        ESP = 166.386, FIM = 5.94573, FRF = 6.55957, IEP = 0.787564, 
                        ITL = 1936.27, LUF = 40.3399, NLG = 2.20371, PTE = 200.482)
if (!(convert.to %in% names(allcurrencyvalues))) {return(0)}
inEUR <- sapply(names(amounts), function(currency) {
    if (currency %in% names(allcurrencyvalues)) {amounts[currency] / allcurrencyvalues[currency]} else {0}})
if (convert.to == "EUR") {return(sum(inEUR))
  } else {if (convert.to %in% names(allcurrencyvalues)) {
converted <- sum(inEUR * allcurrencyvalues[convert.to])
      return(converted)
    } else {
      return(0) }
  }
}

examples

convert.all(c(EUR=6.5))
[1] 6.5
convert.all(c(EUR=3,ATS=2))
[1] 3.145346
convert.all(c(EUR=3,EUR=2))
[1] 6
convert.all(c(EUR=3,DEM=2,SIT=10000))
[1] 4.022584
convert.all(c(EUR=3,DEM=2,SIT=10000),"EUR")
[1] 4.022584
convert.all(c(EUR=3,SIT=10000,DEM=2),"ESP")
[1] 669.3016
convert.all(c(EUR=3,DEM=2,LIRA=100),"SIT")
[1] 0