Skip to content

Commit

Permalink
Using more realistic splines for simulation
Browse files Browse the repository at this point in the history
  • Loading branch information
Admin_mschuemi authored and Admin_mschuemi committed Feb 8, 2025
1 parent b93cba9 commit 34c0426
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
17 changes: 10 additions & 7 deletions R/Simulation.R
Original file line number Diff line number Diff line change
Expand Up @@ -382,14 +382,14 @@ simulateSccsData <- function(nCases, settings) {

if (settings$includeAgeEffect) {
age <- seq(settings$minAge, settings$maxAge, length.out = settings$ageKnots)
ageRisk <- runif(settings$ageKnots, -2, 2)
ageRisk <- rnorm(settings$ageKnots, 0, 2)
ageFun <- splinefun(age, ageRisk)
} else {
ageFun <- NULL
}
if (settings$includeSeasonality) {
seasonKnots <- seq(1, 366, length.out = settings$seasonKnots)
seasonRisk <- runif(settings$seasonKnots - 1, -2, 2)
seasonRisk <- rnorm(settings$seasonKnots - 1, 0, 2)
seasonFun <- function(x) {
designMatrix <- cyclicSplineDesign(x, seasonKnots)
return(apply(designMatrix %*% seasonRisk, 1, sum))
Expand All @@ -399,14 +399,17 @@ simulateSccsData <- function(nCases, settings) {
}
if (settings$includeCalendarTimeEffect) {
calendarTime <- seq(settings$minCalendarTime, settings$maxCalendarTime, length.out = settings$calendarTimeKnots)
calendarTimeRisk <- runif(settings$calendarTimeKnots, -2, 2)
if (settings$calenderTimeMonotonic) {
increasing <- calendarTimeRisk[1] > 0
calendarTimeRisk <- cumsum(abs(calendarTimeRisk))
if (!increasing) {
calendarTimeRisk <- -calendarTimeRisk
increasing <- rbinom(1, 1, 0.5) == 1
calendarTimeRisk <- rnorm(settings$calendarTimeKnots, 0, 0.5)
if (increasing) {
calendarTimeRisk <- cumsum(abs(calendarTimeRisk))
} else {
calendarTimeRisk <- cumsum(-abs(calendarTimeRisk))
}
calendarTimeRisk <- calendarTimeRisk - mean(calendarTimeRisk)
} else {
calendarTimeRisk <- rnorm(settings$calendarTimeKnots, 0, 1)
}
calendarTimeFun <- splinefun(as.numeric(calendarTime), calendarTimeRisk)
} else {
Expand Down
1 change: 1 addition & 0 deletions SelfControlledCaseSeries.Rproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Version: 1.0
ProjectId: 8db85a7b-efaf-44af-9a8c-201f6754c835

RestoreWorkspace: No
SaveWorkspace: No
Expand Down

0 comments on commit 34c0426

Please # to comment.