Compare commits

...

2 Commits

Author SHA1 Message Date
635fa2f091 updated docs 2024-02-07 20:11:00 +01:00
73573f15f1 moved to stRoke package 2024-02-07 20:10:32 +01:00
5 changed files with 2 additions and 112 deletions

View File

@ -51,17 +51,13 @@ Imports:
keyring,
purrr,
readr,
stats,
calendar,
lubridate,
glue
stats
Collate:
'utils.r'
'process_user_input.r'
'REDCap_split.r'
'ds2dd.R'
'ds2dd_detailed.R'
'ds2ical.R'
'easy_redcap.R'
'read_redcap_instrument.R'
'read_redcap_tables.R'

View File

@ -5,7 +5,6 @@ export(clean_redcap_name)
export(d2w)
export(ds2dd)
export(ds2dd_detailed)
export(ds2ical)
export(easy_redcap)
export(focused_metadata)
export(get_api_key)

View File

@ -14,8 +14,6 @@
* NEW: `read_redcap_instrument()` convenience function to retrieve complete instrument. Goes a little against the focused approach. DETAILED INSTRUCTION IS PENDING.
* NEW: `ds2ical()` converts data set to ical format with easy glue string for summary and description. Export .ics file with `calendar::ic_write()`.
### Other
I believe `renv` has now been added and runs correctly. After clone, do `renv::restore()` to install all necessary package to modify the package.
@ -26,6 +24,7 @@ I believe `renv` has now been added and runs correctly. After clone, do `renv::r
* Tests for `ds2dd_detailed()`
* Tests for new functions.
# REDCapCAST 24.1.1

View File

@ -1,58 +0,0 @@
utils::globalVariables(c("DTSTART"))
#' Convert data set to ical file
#'
#' @param data data set
#' @param start dplyr style event start datetime column name
#' @param end dplyr style event end datetime column name
#' @param location dplyr style event location column name
#' @param summary.glue.string character string to pass to glue::glue() for event
#' name (summary). Can take any column from data set.
#' @param description.glue.string character string to pass to glue::glue() for
#' event description. Can take any column from data set.
#'
#' @return tibble of class "ical"
#' @export
#'
#' @examples
#' df <- dplyr::tibble(start = c(Sys.time(), Sys.time() + lubridate::days(2)),
#' id = c("1", 3), assessor = "A", location = "111", note = c(NA, "OBS")) |>
#' dplyr::mutate(end= start+lubridate::hours(2))
#' df |> ds2ical()
#' df |> ds2ical(summary.glue.string = "ID {id} [{assessor}] {note}")
#' # Export .ics file: (not run)
#' ical <- df |> ds2ical(start, end, location, description.glue.string = "{note}")
#' # ical |> calendar::ic_write(file=here::here("calendar.ics"))
ds2ical <- function(data,
start=start,
end=end,
location=location,
summary.glue.string = "ID {id} [{assessor}]",
description.glue.string = NULL) {
ds <- data |>
dplyr::transmute(
SUMMARY = glue::glue(summary.glue.string, .na = ""),
DTSTART = lubridate::ymd_hms({{ start }}),
DTEND = lubridate::ymd_hms({{ end }}),
LOCATION = {{ location }}
)
if (!is.null(description.glue.string)){
ds <- dplyr::tibble(ds,
dplyr::transmute(data,
DESCRIPTION = glue::glue(
description.glue.string,
.na = ""
)
)
)
}
ds |>
(\(x){
x |>
dplyr::mutate(UID = replicate(nrow(x), calendar::ic_guid()))
})() |>
dplyr::filter(!is.na(DTSTART)) |>
calendar::ical()
}

View File

@ -1,46 +0,0 @@
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/ds2ical.R
\name{ds2ical}
\alias{ds2ical}
\title{Convert data set to ical file}
\usage{
ds2ical(
data,
start = start,
end = end,
location = location,
summary.glue.string = "ID {id} [{assessor}]",
description.glue.string = NULL
)
}
\arguments{
\item{data}{data set}
\item{start}{dplyr style event start datetime column name}
\item{end}{dplyr style event end datetime column name}
\item{location}{dplyr style event location column name}
\item{summary.glue.string}{character string to pass to glue::glue() for event
name (summary). Can take any column from data set.}
\item{description.glue.string}{character string to pass to glue::glue() for
event description. Can take any column from data set.}
}
\value{
tibble of class "ical"
}
\description{
Convert data set to ical file
}
\examples{
df <- dplyr::tibble(start = c(Sys.time(), Sys.time() + lubridate::days(2)),
id = c("1", 3), assessor = "A", location = "111", note = c(NA, "OBS")) |>
dplyr::mutate(end= start+lubridate::hours(2))
df |> ds2ical()
df |> ds2ical(summary.glue.string = "ID {id} [{assessor}] {note}")
# Export .ics file: (not run)
ical <- df |> ds2ical(start, end, location, description.glue.string = "{note}")
# ical |> calendar::ic_write(file=here::here("calendar.ics"))
}