powerCalData {riskPredictClustData} | R Documentation |
Calculate the power for testing \delta=0
based on a dataset
Description
Calculate the power for testing \delta=0
based on a dataset.
Usage
powerCalData(
nSubj,
triangle,
frame,
alpha = 0.05)
Arguments
nSubj |
integer. number of subjects to be generated. Assume each subject has two observations. |
triangle |
the difference of the expected value the the extended Mann-Whitney U statistics
between two prediction rules, i.e., |
frame |
A data frame with 5 columns: cid, subuid, status, score1, and score2.
|
alpha |
type I error rate |
Value
A list with 11 elements.
power |
the esstimated power |
rho |
|
rho11 |
|
rho22 |
|
rho12 |
|
p11 |
|
p10 |
|
p01 |
|
p00 |
|
mu1 |
|
mu2 |
|
Author(s)
Bernard Rosner <stbar@channing.harvard.edu>, Weiliang Qiu <Weiliang.Qiu@gmail.com>, Meiling Ting Lee <MLTLEE@umd.edu>
References
Rosner B, Qiu W, and Lee MLT. Assessing Discrimination of Risk Prediction Rules in a Clustered Data Setting. Lifetime Data Anal. 2013 Apr; 19(2): 242-256.
Examples
set.seed(1234567)
datFrame = genSimDataGLMEM(nSubj = 30, beta0 = -6, sd.beta0i = 1.58,
beta1 = 1.58, beta2 = -3.95, beta3 = 3.15, beta4 = 2.06,
beta5 = 0.51, beta6 = 1.47, beta7 = 3.11,
p.smkcur = 0.08, p.inieye31 = 0.44, p.inieye32 = 0.42,
p.inieye41 = 0.12, p.inieye42 = 0.11, sd.lncalorc = 0.33)
print(dim(datFrame))
print(datFrame[1:2,])
# prediction rule 1
tt1 = getScore(fmla = prog~smkcur+lncalorc+inieye3+inieye4+factor(rtotfat),
cidVar = "cid", subuidVar = "subuid", statusVar = "prog",
datFrame = datFrame, mycorstr = "exchangeable",
verbose = FALSE)
myframe1=tt1$frame
print(dim(myframe1))
print(myframe1[1:3,])
####
# prediction rule 2
tt2 = getScore(fmla = prog~smkcur+lncalorc+inieye3+inieye4,
cidVar = "cid", subuidVar = "subuid", statusVar = "prog",
datFrame = datFrame, mycorstr = "exchangeable",
verbose = FALSE)
myframe2=tt2$frame
print(dim(myframe2))
print(myframe2[1:3,])
# combine scores from two prediction rules
myframe12=myframe1[, c("cid", "subuid", "status")]
myframe12$score1=myframe1$score
myframe12$score2=myframe2$score
print(dim(myframe12))
print(myframe12[1:3,])
res = powerCalData(nSubj = 30, triangle = 0.05, frame=myframe12, alpha = 0.05)
print(res)