A simulation introduction to censoring in survival analysis
https://thestatsgeek.com/2020/10/20/a-simulation-introduction-to-censoring-in-survival-analysis/
Generalized Additive Models (GAMs) in R
https://noamross.github.io/gams-in-r-course/
find out which package a function comes from
# get all method functions for the summary generic function
methods(summary)
# cannot directly see the code for summary.loess (the function is not 'exported')
summary.loess
# but can do so with getAnywhere()
getAnywhere(summary.loess)
# or if we know which package the function comes from
:::summary.loess
stats
# but how do you know which package a function comes from???
# can do this
environmentName(environment(loess))
# but this does not work for non-exported functions
environmentName(environment(summary.loess))
# try the where() function from the 'pryr' package
# install.packages("pryr")
library(pryr)
where("loess")
# also does not work for non-exported functions
where("summary.loess")
# my suggestion
<- function(x) invisible(sapply(loadedNamespaces(), function(ns)
ff if (exists(x, envir=asNamespace(ns), inherit=FALSE)) print(ns)))
# try this out
ff("loess")
ff("summary.loess")
# let's see what happens when there are two functions with the same name
# (install) and load the 'dplyr' package
#install.package("dplyr")
library(dplyr)
# note the messages about 'masking' (the dplyr package has some functions that
# have the same name as functions that are already loaded)
environmentName(environment(lag))
where("lag")
ff("lag")