TableSubgroupCox: Sub-group analysis table for Cox/svycox model.
Source:R/forestcox.R
TableSubgroupCox.Rd
Sub-group analysis table for Cox/svycox model.
Usage
TableSubgroupCox(
formula,
var_subgroup = NULL,
var_cov = NULL,
data,
time_eventrate = 3 * 365,
decimal.hr = 2,
decimal.percent = 1,
decimal.pvalue = 3,
cluster = NULL,
strata = NULL,
weights = NULL,
event = FALSE,
count_by = NULL,
labeldata = NULL
)
Arguments
- formula
formula with survival analysis.
- var_subgroup
1 sub-group variable for analysis, Default: NULL
- var_cov
Variables for additional adjust, Default: NULL
- data
Data or svydesign in survey package.
- time_eventrate
Time for kaplan-meier based event rate calculation, Default = 365 * 3
- decimal.hr
Decimal for hazard ratio, Default: 2
- decimal.percent
Decimal for percent, Default: 1
- decimal.pvalue
Decimal for pvalue, Default: 3
- cluster
Cluster variable for coxph, Default: NULL
- strata
Strata variable for coxph, Default: NULL
- weights
Weights variable for coxph, Default: NULL
- event
Show number and rates of event in survival analysis default:F
- count_by
Select variables to count by subgroup, Default: NULL
- labeldata
Label info, made by `mk.lev` function, Default: NULL
Examples
library(survival)
library(dplyr)
#>
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#>
#> filter, lag
#> The following objects are masked from ‘package:base’:
#>
#> intersect, setdiff, setequal, union
lung %>%
mutate(
status = as.integer(status == 1),
sex = factor(sex),
kk = factor(as.integer(pat.karno >= 70))
) -> lung
TableSubgroupCox(Surv(time, status) ~ sex, data = lung, time_eventrate = 100)
#> Variable Count Percent Point Estimate Lower Upper sex=1 sex=2 P value
#> sex2 Overall 228 100 1.91 1.14 3.2 0 1.2 0.014
#> P for interaction
#> sex2 NA
TableSubgroupCox(Surv(time, status) ~ sex,
var_subgroup = "kk", data = lung,
time_eventrate = 100
)
#> Variable Count Percent Point Estimate Lower Upper sex=1 sex=2 P value
#> 1 kk <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
#> 2 0 38 16.9 2.88 0.31 26.49 0 0 0.35
#> 3 1 187 83.1 1.84 1.08 3.14 0 1.5 0.026
#> P for interaction
#> 1 0.525
#> 2 <NA>
#> 3 <NA>
## survey design
library(survey)
data.design <- svydesign(id = ~1, data = lung)
#> Warning: No weights or probabilities supplied, assuming equal probability
TableSubgroupCox(Surv(time, status) ~ sex, data = data.design, time_eventrate = 100)
#> Independent Sampling design (with replacement)
#> svydesign(id = ~1, data = lung)
#> Variable Count Percent Point Estimate Lower Upper sex=1 sex=2 P value
#> sex2 Overall 228 100 1.91 1.14 3.19 0 1.2 0.013
#> P for interaction
#> sex2 NA
TableSubgroupCox(Surv(time, status) ~ sex,
var_subgroup = "kk", data = data.design,
time_eventrate = 100
)
#> Independent Sampling design (with replacement)
#> svydesign(id = ~1, data = lung)
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> Independent Sampling design (with replacement)
#> subset(data, get(var_subgroup) == .)
#> Independent Sampling design (with replacement)
#> subset(data, get(var_subgroup) == .)
#> Variable Count Percent Point Estimate Lower Upper sex=1 sex=2 P value
#> 1 kk <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
#> 2 0 38 16.9 2.88 0.31 27.1 0 0 0.355
#> 3 1 187 83.1 1.84 1.08 3.11 0 2.9 0.024
#> P for interaction
#> 1 0.523
#> 2 <NA>
#> 3 <NA>