Commit 1f2b1b8e9a29717a4ed87c2242513b8227b14c00
0 parents
Exists in
master
First commit
Showing
9 changed files
with
232 additions
and
0 deletions
Show diff stats
1 | +++ a/.Rhistory | |
... | ... | @@ -0,0 +1,16 @@ |
1 | +devtools::check() | |
2 | +devtools::use_package() | |
3 | +roxygen2::roxygenise() | |
4 | +roxygen2::roxygenise() | |
5 | +usethis::use_package("dplyr") | |
6 | +usethis::use_package("feather") | |
7 | +usethis::use_package("tibble") | |
8 | +usethis::use_package("purrr") | |
9 | +usethis::use_package("stringr") | |
10 | +devtools::check() | |
11 | +devtools::check() | |
12 | +devtools::check() | |
13 | +devtools::check() | |
14 | +devtools::check() | |
15 | +devtools::build() | |
16 | +devtools::install() | ... | ... |
1 | +++ a/DESCRIPTION | |
... | ... | @@ -0,0 +1,22 @@ |
1 | +Package: ExperimentsPackage | |
2 | +Title: Useful functions for data analysis of UZ experiments. | |
3 | +Version: 0.0.0.9000 | |
4 | +Authors@R: | |
5 | + person(given = "Karol", | |
6 | + family = "Niewiadomski", | |
7 | + role = c("aut", "cre"), | |
8 | + email = "karol.niewiadomski@nottingham.ac.uk", | |
9 | + comment = c(ORCID = "YOUR-ORCID-ID")) | |
10 | +Description: This package collects useful functions for the data analysis of experiments prepared at University of Zielona Góra. | |
11 | +License: `use_mit_license()`, `use_gpl3_license()` or friends to | |
12 | + pick a license | |
13 | +Encoding: UTF-8 | |
14 | +LazyData: true | |
15 | +Roxygen: list(markdown = TRUE) | |
16 | +RoxygenNote: 7.1.0 | |
17 | +Imports: | |
18 | + dplyr, | |
19 | + feather, | |
20 | + tibble, | |
21 | + purrr, | |
22 | + stringr | ... | ... |
1 | +++ a/ExperimentsPackage.Rproj | |
... | ... | @@ -0,0 +1,21 @@ |
1 | +Version: 1.0 | |
2 | + | |
3 | +RestoreWorkspace: No | |
4 | +SaveWorkspace: No | |
5 | +AlwaysSaveHistory: Default | |
6 | + | |
7 | +EnableCodeIndexing: Yes | |
8 | +UseSpacesForTab: Yes | |
9 | +NumSpacesForTab: 2 | |
10 | +Encoding: UTF-8 | |
11 | + | |
12 | +RnwWeave: Sweave | |
13 | +LaTeX: pdfLaTeX | |
14 | + | |
15 | +AutoAppendNewline: Yes | |
16 | +StripTrailingWhitespace: Yes | |
17 | + | |
18 | +BuildType: Package | |
19 | +PackageUseDevtools: Yes | |
20 | +PackageInstallArgs: --no-multiarch --with-keep.source | |
21 | +PackageRoxygenize: rd,collate,namespace | ... | ... |
1 | +++ a/NAMESPACE | |
... | ... | @@ -0,0 +1,14 @@ |
1 | +# Generated by roxygen2: do not edit by hand | |
2 | + | |
3 | +export(SWITCHING_FREQUENCY) | |
4 | +export(SWITCHING_PERIOD) | |
5 | +export(read_interference) | |
6 | +export(read_no_interference) | |
7 | +importFrom(dplyr,between) | |
8 | +importFrom(dplyr,bind_rows) | |
9 | +importFrom(dplyr,filter) | |
10 | +importFrom(dplyr,mutate) | |
11 | +importFrom(feather,read_feather) | |
12 | +importFrom(purrr,map_chr) | |
13 | +importFrom(stringr,str_interp) | |
14 | +importFrom(tibble,tibble) | ... | ... |
1 | +++ a/R/reading_funs.R | |
... | ... | @@ -0,0 +1,99 @@ |
1 | + | |
2 | +#' @export | |
3 | +SWITCHING_FREQUENCY <- 10e3 | |
4 | + | |
5 | +#' @export | |
6 | +SWITCHING_PERIOD <- 1/10e3 | |
7 | + | |
8 | +get_times <- function(start_from_period, how_many_periods) { | |
9 | + fc <- 10e3 | |
10 | + pc <- 1/fc | |
11 | + start_time <- start_from_period * pc | |
12 | + end_time <- start_time + how_many_periods * pc | |
13 | + return(list(start_time = start_time, end_time = end_time)) | |
14 | +} | |
15 | + | |
16 | +#' Read data with interference | |
17 | +#' | |
18 | +#' Reads data from the experiment. | |
19 | +#' | |
20 | +#' @param which number (should be from 0 to 16) which measurement to take | |
21 | +#' @param start_from_period | |
22 | +#' @param how_many_periods | |
23 | +#' @param add_no_interference | |
24 | +#' | |
25 | +#' @return | |
26 | +#' @export | |
27 | +#' | |
28 | +#' @importFrom dplyr filter mutate bind_rows between | |
29 | +#' @importFrom feather read_feather | |
30 | +#' @importFrom tibble tibble | |
31 | +#' @importFrom purrr map_chr | |
32 | +#' @importFrom stringr str_interp | |
33 | +#' | |
34 | +#' | |
35 | +#' @examples | |
36 | +#' | |
37 | +#' T1 <- read_interference("/Users/karolniewiadomski/Documents/SCENT/Simulations/ExperimentsUZ/ErrorModelsDataClean/", | |
38 | +#' which = c(2, 13), start_from_period=3, how_many_periods=1, add_no_interference=TRUE) | |
39 | +#' head(T1) | |
40 | +#' | |
41 | +read_interference <- function( | |
42 | + data_path, which = 0, start_from_period = 2, how_many_periods = 2, add_no_interference = FALSE) { | |
43 | + times <- get_times(start_from_period, how_many_periods) | |
44 | + | |
45 | + if(min(which) < 0 || max(which) > 16) stop("Which between 0 and 16.") | |
46 | + filenames <- map_chr(which, function(x) | |
47 | + file.path(data_path, str_interp("data_$[.5d]{x}.feather") )) | |
48 | + | |
49 | + TD <- tibble() | |
50 | + i <- 1 | |
51 | + for(.filename in filenames) { | |
52 | + T1 <- read_feather(.filename) | |
53 | + T1 <- filter(T1, between(time, times$start_time, times$end_time)) | |
54 | + T1 <- mutate(T1, measurement_no = which[i]) | |
55 | + TD <- bind_rows(TD, T1) | |
56 | + i <- i + 1 | |
57 | + } | |
58 | + | |
59 | + # No interference is declared as measurement_no -1. | |
60 | + if(add_no_interference) { | |
61 | + T2 <- read_no_interference(data_path, start_from_period, how_many_periods) | |
62 | + TD <- bind_rows(TD, T2) | |
63 | + } | |
64 | + | |
65 | + return(TD) | |
66 | + | |
67 | +} | |
68 | + | |
69 | + | |
70 | + | |
71 | +#' Read data with no interference | |
72 | +#' | |
73 | +#' Reads data from measurements, without interference. | |
74 | +#' | |
75 | +#' @param start_from_period from which | |
76 | +#' @param how_many_periods | |
77 | +#' | |
78 | +#' @return | |
79 | +#' @export | |
80 | +#' | |
81 | +#' @importFrom feather read_feather | |
82 | +#' @importFrom dplyr filter mutate between | |
83 | +#' | |
84 | +#' @examples | |
85 | +#' | |
86 | +#' T1 <- read_no_interference("/Users/karolniewiadomski/Documents/SCENT/Simulations/ExperimentsUZ/ErrorModelsDataClean/", 2, 2) | |
87 | +#' head(T1) | |
88 | +#' | |
89 | +read_no_interference <- function( | |
90 | + data_path, start_from_period = 2, how_many_periods = 2) { | |
91 | + | |
92 | + times <- get_times(start_from_period, how_many_periods) | |
93 | + filename <- file.path(data_path, "data_no.feather") | |
94 | + TD <- read_feather(filename) | |
95 | + TD <- filter(TD, between(time, times$start_time, times$end_time)) | |
96 | + TD <- mutate(TD, measurement_no = -1) # To be consistent measurement_no is -1. | |
97 | + return(TD) | |
98 | +} | |
99 | + | ... | ... |
1 | +++ a/man/read_interference.Rd | |
... | ... | @@ -0,0 +1,32 @@ |
1 | +% Generated by roxygen2: do not edit by hand | |
2 | +% Please edit documentation in R/reading_funs.R | |
3 | +\name{read_interference} | |
4 | +\alias{read_interference} | |
5 | +\title{Read data with interference} | |
6 | +\usage{ | |
7 | +read_interference( | |
8 | + data_path, | |
9 | + which = 0, | |
10 | + start_from_period = 2, | |
11 | + how_many_periods = 2, | |
12 | + add_no_interference = FALSE | |
13 | +) | |
14 | +} | |
15 | +\arguments{ | |
16 | +\item{which}{number (should be from 0 to 16) which measurement to take} | |
17 | + | |
18 | +\item{add_no_interference}{} | |
19 | +} | |
20 | +\value{ | |
21 | + | |
22 | +} | |
23 | +\description{ | |
24 | +Reads data from the experiment. | |
25 | +} | |
26 | +\examples{ | |
27 | + | |
28 | +T1 <- read_interference("/Users/karolniewiadomski/Documents/SCENT/Simulations/ExperimentsUZ/ErrorModelsDataClean/", | |
29 | + which = c(2, 13), start_from_period=3, how_many_periods=1, add_no_interference=TRUE) | |
30 | +head(T1) | |
31 | + | |
32 | +} | ... | ... |
1 | +++ a/man/read_no_interference.Rd | |
... | ... | @@ -0,0 +1,25 @@ |
1 | +% Generated by roxygen2: do not edit by hand | |
2 | +% Please edit documentation in R/reading_funs.R | |
3 | +\name{read_no_interference} | |
4 | +\alias{read_no_interference} | |
5 | +\title{Read data with no interference} | |
6 | +\usage{ | |
7 | +read_no_interference(data_path, start_from_period = 2, how_many_periods = 2) | |
8 | +} | |
9 | +\arguments{ | |
10 | +\item{start_from_period}{from which} | |
11 | + | |
12 | +\item{how_many_periods}{} | |
13 | +} | |
14 | +\value{ | |
15 | + | |
16 | +} | |
17 | +\description{ | |
18 | +Reads data from measurements, without interference. | |
19 | +} | |
20 | +\examples{ | |
21 | + | |
22 | +T1 <- read_no_interference("/Users/karolniewiadomski/Documents/SCENT/Simulations/ExperimentsUZ/ErrorModelsDataClean/", 2, 2) | |
23 | +head(T1) | |
24 | + | |
25 | +} | ... | ... |