#' InflectionPoint
#'
#' @param data add description
#' @param eventVariable add description
#' @param nestingTimeUnit add description
#' @param continuousTimeUnit add description
#' @return df dataframe
#' @export
#'
countAfterEventContinuous <- function(data, eventVariable, nestingTimeUnit, continuousTimeUnit) {
df <- data
df$event <- eventVariable # New generic variable named 'event'
df$nestingUnit <- nestingTimeUnit # Nesting unit within which continuousTime is cycling through (e.g. "day" containing multiple measurements)
df$continuousTimeUnit <- continuousTimeUnit
df$event <- as.numeric(df$event)
eventCol <- match('event', names(df)) # Stored value = column number of 'y' in fx argument
df$continuousTime <- continuousTime <- '-999' # Generic 'Count' variable set to -999 starting values
df$continuousTime <- as.numeric(df$continuousTime)
continuousTimeCol <- match('continuousTime', names(df))
continuousTimeUnitCol <- match('continuousTimeUnit', names(df))
nestingUnitCol <- match('nestingUnit', names(df))
df$nestingUnit <- as.numeric(df$nestingUnit)
df$timeSince <- 0
for (i in 1:dim(df)[1]) { # Cycle through all rows in scope of df
for (j in 1:dim(df)[2]) { # Cycle through all columns in scope of df
if (j == continuousTimeCol) {
if (i == 1) { # If on first row, run this code to avoid (i - 1) problem
df[1, 'timeSince'] <- df[1, 'continuousTimeUnit']
if (df[i, eventCol] == 1) {
df[i, 'continuousTime'] <- 0 # Count = 0 if measurement occasion conflict (+)
} else {
if (df[i, eventCol] == 0) {
df[i, j] <- -999
#df[i, 'continuousTime'] <- as.numeric(df[i, 'continuousTime'])
}
}
} else { # Now not on first row so (i - 1) term not a problem
df[i, 'timeSince'] <- df[i, continuousTimeUnitCol] - df[(i - 1), continuousTimeUnitCol]
if (df[i, nestingUnitCol] != df[(i - 1), nestingUnitCol]) {
if (df[i, eventCol] == 1) {
df[i, continuousTimeCol] <- 0
#df[i, 'continuousTime'] <- as.numeric(df[i, 'continuousTime'])
} else {
df[i, continuousTimeCol] <- -999
#df[i, 'continuousTime'] <- as.numeric(df[i, 'continuousTime'])
}
} else {
if (df[(i - 1), continuousTimeCol] == -999) {
if (df[i, eventCol] == 0) {
df[i, j] <- -999
#df[i, 'continuousTime'] <- as.numeric(df[i, 'continuousTime'])
} else {
if (df[i, eventCol] == 1) {
df[i, j] <- 0
#df[i, 'continuousTime'] <- as.numeric(df[i, 'continuousTime'])
}
}
} else {
n1 <- df[(i - 1), continuousTimeCol]
n1 <- as.numeric(n1)
n2 <- df[i, 'timeSince']
n2 <- as.numeric(n2)
df[i, j] <- (n1 + n2)
#df$count <- df[i, 'count'] <- as.numeric(df[i, 'count'])
}
}
}
}
}
}
df
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.