Package 'peRiodiCS'

Title: Functions for Generating Periodic Curves
Description: Functions for generating variants of curves: restricted cubic spline, periodic restricted cubic spline, periodic cubic spline. Periodic splines can be used to model data that has periodic nature / seasonality.
Authors: Crt Ahlin [aut, cre], Lara Lusa [aut]
Maintainer: Crt Ahlin <[email protected]>
License: GPL-3
Version: 0.5.1.9002
Built: 2025-03-06 03:18:21 UTC
Source: https://github.com/crtahlin/periodics

Help Index


Basis for restricted cubic splines

Description

Function that derives the restricted cubic splines for a value/vector of values, given the knots; obtains exactly the same results as the rcs function included in the rms package.

Usage

b_rcs(x, knots, inclx = FALSE)

Arguments

x

numerical vector

knots

vector specifying the knot locations

inclx

logical, if TRUE returns also the x vector


Derive first derivatives of RCS

Description

function that derives the first derivative of the restricted cubic splines for a value/vector of values, given the knots

Usage

b_rcs_prime(x, knots)

Arguments

x

vector of values

knots

vector of knot locations


Generate design matrix for periodic cubic splines

Description

Generate design matrix for periodic cubic splines.

Usage

cs_per(x, knots = NULL, nk = 5, xmax = max(x, na.rm = TRUE),
  xmin = min(x, na.rm = TRUE))

Arguments

x

numerical x values to transform to new basis

knots

vector with locations of the knots of the spline

nk

number of knots, used only if the knots are not specified, overridden otherwise

xmax

value of the (theoretical) minimum of x

xmin

value of the (theoretical) maximum of x

Examples

# load example data; see help("viral_east_mediteranean")
data("viral_east_mediteranean")

# calculate location of knots to use
Knots <- 
 Hmisc::rcspline.eval(x = viral_east_mediteranean$EpiWeek,
                      nk = 5, knots.only = TRUE)

# model viral infections vs weeks
model <- glm(RSV ~ cs_per(EpiWeek, knots = Knots), data = viral_east_mediteranean)

# plot model (with many points, to make it smooth)
plot_per_mod(Model = model, XvarName = "EpiWeek")

Plotting function for periodic curves model

Description

Plots graph of periodic curves with confidence intervals. Data should be included in the model.

Usage

plot_per_mod(Model, XvarName, Ylab = "Response", Xlab = "Covariate",
  Ylim = NULL, Xlim = NULL, Xmin = NULL, Xmax = NULL, Knots = NULL,
  Title = NULL, Vlines = NULL, Hlines = NULL, Cex.lab = NULL,
  Cex.main = NULL, Cex.axis = NULL, Axes = TRUE, Add = FALSE,
  Col = "black", PlotCI = TRUE, nPoints = 100)

Arguments

Model

The built model

XvarName

Name of the x variable in the dataset (column name)

Ylab

Label on vertical (y) axis

Xlab

Label on horizontal (x) axis

Ylim

Limits of y axis

Xlim

Limits of x axis

Xmin

The min X of data to be predicted

Xmax

The max X of data to be predicted

Knots

Locations of knots of the splines

Title

Title of the plot

Vlines

Where to plot vertical lines

Hlines

Where to plot horizontal lines

Cex.lab

Character expansion (aka "size of font") for the labels

Cex.main

Character expansion for main text

Cex.axis

Character expansion for the axis text

Axes

Plot axes

Add

Add to existing plot

Col

Color of the plotted lines

PlotCI

Plot confidence intervals

nPoints

Number of points to use on the x axis


Generate design matrix for periodic restricted cubic spline

Description

Generate design matrix for periodic restricted cubic spline.

Usage

rcs_per(x, knots = NULL, nk = 5, xmin = min(x, na.rm = TRUE),
  xmax = max(x, na.rm = TRUE))

Arguments

x

numerical x values to transform to new basis

knots

vector with locations of the knots of the spline

nk

number of knots, used only if the knots are not specified, overridden otherwise

xmin

value of the (theoretical) minimum of x

xmax

value of the (theoretical) maximum of x

Examples

# load example data; see help("viral_east_mediteranean")
data("viral_east_mediteranean")

# calculate location of knots to use
Knots <- 
 Hmisc::rcspline.eval(x = viral_east_mediteranean$EpiWeek,
                      nk = 5, knots.only = TRUE)

# model viral infections vs weeks
model <- glm(RSV ~ rcs_per(EpiWeek, knots = Knots), data = viral_east_mediteranean)

# plot model (with many points, to make it smooth)
plot_per_mod(Model = model, XvarName = "EpiWeek")

Viral etiology, seasonality and severity of hospitalized patients with severe acute respiratory infections in the Eastern Mediterranean Region, 2007-2014

Description

Data about infections with different viruses across several years.

For more information see Source and References section.

Usage

viral_east_mediteranean

Format

A data frame with variables:

UniqueID

record identification number

Enrolled

Did the patient consent and enroll in the study?: 1=Yes, 0=No

Country

Country of enrollment: Egypt, Jordan, Oman, Qatar, Yemen

EpiYear

Year of enrollment: Integers (2007-2014)

EpiMonth

Month of enrollment: Integers (1-12)

EpiWeek

Week of enrollment: Integers (1-53)

Interval

Number of days between onset of symptoms and hospitalization: Integer

Stay

Number of days between hospitalization and outcome: Integer

Sex

Sex: 1=Female, 0=Male

AgeGrp

Age group: 1=<1 year, 2=1-4 years, 3=5-49 years, 4=50+ years

ChronicDis

Does the patient have any pre-existing chronic disease?: 1=Yes, 0=No

OxTherapy

Did the patient receive oxygen therapy during hospitalization?: 1=Yes, 0=No

Ventilated

Was the patient ventilated during hospitalization?: 1=Yes, 0=No

ICU

Was the patient admitted to an intensive care unit during hospitalization?: 1=Yes, 0=No

Outcome

What was the patient"'"s final hospitalization outcome?: 1=Discharge, 2=Transfer, 3=Death

RSV

Results for respiratory syncytial virus: 1=Positive, 0=Negative

AdV

Results for adenovirus: 1=Positive, 0=Negative

hMPV

Results for human metapneumovirus: 1=Positive, 0=Negative

hPIV1

Results for human parainfluenzavirus type 1: 1=Positive, 0=Negative

hPIV2

Results for human parainfluenzavirus type 2: 1=Positive, 0=Negative

hPIV3

Results for human parainfluenzavirus type 3: 1=Positive, 0=Negative

Flu

Results for influenza: 1=Positive, 0=Negative

Source

http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0180954

References

Horton, Katherine C. AND Dueger, Erica L. AND Kandeel, Amr AND Abdallat, Mohamed AND El-Kholy, Amani AND Al-Awaidy, Salah AND Kohlani, Abdul Hakim AND Amer, Hanaa AND El-Khal, Abel Latif AND Said, Mayar AND House, Brent AND Pimentel, Guillermo AND Talaat, Maha (2017). Viral etiology, seasonality and severity of hospitalized patients with severe acute respiratory infections in the Eastern Mediterranean Region, 2007-2014. PLOS ONE, 12, 1-17.