Description Usage Arguments Note Author(s) References See Also Examples
View source: R/risk_ratio_confidence.R
Function that calculates confidence interval for the integral
\int RR(x;θ)f(x)dx
where f(x) is the density function of the exposure X, RR(x;θ) the relative risk of the exposure with associated parameter θ.
1 2 3  | 
X | 
 Random sample (  | 
thetahat | 
 Estimator (  | 
rr | 
 
 **Optional**  | 
thetavar | 
 Estimator of variance of   | 
weights | 
 Normalized survey   | 
nsim | 
 Number of simulations.  | 
confidence | 
 Confidence level % (default:   | 
check_thetas | 
 Checks that   | 
force.min | 
 Boolean indicating whether to force the   | 
The force.min option forces the relative risk rr to have
a minimum of 1 and thus an rr < 1 is NOT possible. This is
only for when absolute certainty is had that rr > 1 and should be
used under careful consideration. The confidence interval to acheive such
an rr is based on the paper by Do Le Minh and Y. .s. Sherif
Rodrigo Zepeda-Tello rzepeda17@gmail.com
Dalia Camacho-Garc<c3><ad>a-Forment<c3><ad> daliaf172@gmail.com
Sherif, Y. .s. (1989). The lower confidence limit for the mean of positive random variables. Microelectronics Reliability, 29(2), 151-152.
risk.ratio.approximate.confidence for a method when only
mean(X) and var(X) are known.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94  | ## Not run: 
#Example 1: Exponential Relative Risk
#--------------------------------------------
set.seed(18427)
X        <- data.frame(rnorm(100))
thetahat <- 0.1
thetavar <- 0.2
rr       <- function(X, theta){exp(theta*X)}
risk.ratio.confidence(X, thetahat, rr, thetavar)
#We can force RR'.s CI to be >= 1.
#This should be done with extra methodological (philosophical) care as 
#RR>= 1 should only be assumed with absolute mathematical certainty
risk.ratio.confidence(X, thetahat, rr, thetavar, force.min = TRUE)
#Example 2: Multivariate Relative Risk
#--------------------------------------------
set.seed(18427)
X1        <- rnorm(1000)
X2        <- runif(1000)
X         <- data.frame(cbind(X1,X2))
thetahat  <- c(0.02, 0.01)
thetavar  <- matrix(c(0.1, 0, 0, 0.4), byrow = TRUE, nrow = 2)
rr        <- function(X, theta){exp(theta[1]*X[,1] + theta[2]*X[,2])}
risk.ratio.confidence(X, thetahat, rr, thetavar) 
#Example 3: Categorical Relative Risk & Exposure
#--------------------------------------------
set.seed(18427)
X        <- as.data.frame(sample(c("Normal","Overweight","Obese"), 100, 
                   replace = TRUE, prob = c(0.4, 0.1, 0.5)))
thetahat <- c(1, 1.2, 1.5)
thetavar  <- diag(c(0.1, 0.2, 0.4))
#Categorical relative risk function
rr <- function(X, theta){
   #Create return vector with default risk of 1
   r_risk <- rep(1, length(X))
   
   #Assign categorical relative risk
   r_risk[which(X == "Normal")]      <- thetahat[1]
   r_risk[which(X == "Overweight")]  <- thetahat[2]
   r_risk[which(X == "Obese")]       <- thetahat[3]
   
   return(r_risk)
}
risk.ratio.confidence(data.frame(X), thetahat, rr, thetavar)
#Example 4: Categorical Relative Risk & continuous exposure
#----------------------------------------------------------
set.seed(18427)
BMI      <- data.frame(rlnorm(100, 3.1, sdlog = 0.1))
thetahat <- c(Malnourished = 2.2, Normal = 1, Overweight = 1.8, Obese = 2.5)
thetavar <- diag(c(0.5, 0.1, 0.1, 0.2))
rr       <- function(X, theta){
     
     #Create return vector with default risk of 1
     r_risk <- rep(1, length(X))
   
     #Assign categorical relative risk
     r_risk[which(X < 20)]                             <- theta[1] #Malnourished
     r_risk[intersect(which(X >= 20), which(X < 25))]  <- theta[2] #Normal
     r_risk[intersect(which(X >= 25), which(X < 30))]  <- theta[3] #Overweight
     r_risk[which(X >= 30)]                            <- theta[4] #Obese
   
   return(r_risk)
}
risk.ratio.confidence(BMI, thetahat, rr, thetavar)
#Example 5: Bivariate exposure and rr ("classical rr")
#------------------------------------------------------------------
set.seed(18427)
X        <- sample(c("Exposed","Unexposed"), 1000, replace = TRUE, prob = c(0.1, 0.9))
thetahat <- c("Exposed" = 2.5, "Unexposed" = 1.2)  
thetavar <- matrix(c(0.1, 0.2, 0.2, 0.4), ncol = 2)
rr <- function(X, theta){
   
   #Create relative risk function
   r_risk <- rep(1, length(X))
   
   #Assign values of relative risk
   r_risk[which(X == "Unexposed")] <- theta["Unexposed"]
   r_risk[which(X == "Exposed")]   <- theta["Exposed"]
   
   return(r_risk)
}    
risk.ratio.confidence(data.frame(X), thetahat, rr, thetavar)
## End(Not run)
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.