| ipd2diag | R Documentation | 
Function to transform individual patient data (IPD) to enter them
into diagmeta
ipd2diag(studlab, value, status, data = NULL, direction = "increasing")
studlab | 
 A vector with study labels.  | 
value | 
 A vector with individual patients' measurements of a discrete or continuous variable.  | 
status | 
 A vector with information of the individual's status (0 = non-diseased, 1 = diseased).  | 
data | 
 An optional data frame containing the study information.  | 
direction | 
 A character string specifying whether the probability of
the target condition (e.g., a disease) is   | 
A data frame with additional class 'ipd2diag' containing the following variables:
studlab | 
 As defined above.  | 
cutoff | 
 Cutoff values.  | 
TP, FP, TN, FN | 
 Number of true positives, false positives, true negatives and false negatives.  | 
Gerta Rücker gerta.ruecker@uniklinik-freiburg.de, Srinath Kolampally kolampal@imbi.uni-freiburg.de
diagmeta, plot.diagmeta,
  print.diagmeta, summary.diagmeta
# Simulate IPD data for three studies, each with 30 patients based
# on normally distributed marker values
#
set.seed(20)
k <- 3
n <- 60
m <- c(20, 23, 26)
d <- 10
s <- 5
studlab <- c(rep(1, n), rep(2, n), rep(3, n))
status <- rep(c(rep(0, n / 2), rep(1, n / 2)), k)
measurement <- c(rnorm(n / 2, m[1], s), rnorm(n/2, m[1] + d, s),
                 rnorm(n / 2, m[2], s), rnorm(n/2, m[2] + d, s), 
                 rnorm(n / 2, m[3], s), rnorm(n/2, m[3] + d, s))
#
IPDdata <- data.frame(studlab, measurement, status)
str(IPDdata)
# Transform these data using ipd2diag()
#
diagdata <- ipd2diag(studlab, value = measurement, status = status)
str(diagdata)
# Run diagmeta()
#
diag1 <- diagmeta(diagdata, distr = "normal")
summary(diag1)
plot(diag1)
par(mfrow = c(1, 2))
plot(diag1, which = "ROC", lines = TRUE)
plot(diag1, which = "SROC", ciSens = TRUE,
  ciSpec = TRUE, lines = TRUE, shading = "hatch")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.