W pliku bike.zip
zapisane są dane o trasach rowerowych w formacie tcx
. Wczytać je można za pomocą funkcji readTCX()
z pakietu trackeR
. Usunąć zduplikowane względem czasu wpisy można wykorzystując funcję duplicated()
.
Wykorzystaj te dane do tworzenia profilu rowerzysty. Profil powinien zawierać informacje o przejechanych trasach oraz pozwalać na
Zaprojektuj i zaimplementuj S3 obiekty oraz odpowiednie standardowe (print()
, head()
, tail()
, mean()
, min()
, max()
, plot()
, etc) i niestandardowe funkcje generyczne. Posługuj się poniższym przykładem dla przychodni dietetycznej.
trajectory <- function(times, traj) { structure(list(times = times, traj = traj), class = "trajectory") } print.trajectory <- function(x){ cat("* Times ="); print (x$times) cat("* Traj = \n"); print (x$traj) } plot.trajectory <- function(x, ...){ matplot(x$times, t(x$traj), xaxt="n", type="l", ylab= "", xlab="", pch=1, ...) axis(1,at=x$times) } countmissing <- function(x) UseMethod("countmissing") countmissing.trajectory <- function (x) { sum(is.na(x$traj)) } sekrety_diety <- trajectory( times=c(1,3,4,5), traj=rbind ( c(15,15.1, 15.2, 15.2), c(16,15.9, 16,16.4), c(15.2, NA, 15.3, 15.3), c(15.7, 15.6, 15.8, 16) ) )
Klasa track
Konstruktor ma dwa argumenty: plik z trasą oraz nazwa trasy
W przypadku gdy nazwa trasy nie jest podana, używa się domyślnej nazwy:
velocity()
, która oblicza prędkość rowerzysty w każdym momencie. Wynikiem funkcji jest wektor.Funkcja plot()
, która wyświetla wysokość lub prędkość rowerzysty w zależności od czasu jazdy lub przejechanego dystansu. Wykres przykładowy: