The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(ggpolar)
#> Loading required package: ggplot2
library(survival)
library(ezcox)
#> Welcome to 'ezcox' package!
#> =======================================================================
#> You are using ezcox version 1.0.2
#>
#> Project home : https://github.com/ShixiangWang/ezcox
#> Documentation: https://shixiangwang.github.io/ezcox
#> Cite as : arXiv:2110.14232
#> =======================================================================
#>
= survival::lung
data head(data)
#> inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
#> 1 3 306 2 74 1 1 90 100 1175 NA
#> 2 3 455 2 68 1 0 90 90 1225 15
#> 3 3 1010 1 56 1 0 90 90 NA 15
#> 4 5 210 2 57 1 1 90 60 1150 11
#> 5 1 883 2 60 1 0 100 90 NA 0
#> 6 12 1022 1 74 1 1 50 80 513 0
Pick several variables.
= c("age", "sex", "ph.ecog", "ph.karno", "pat.karno", "meal.cal", "wt.loss") vars
= ezcox(data, vars)
df_cox
df_cox#> # A tibble: 7 × 12
#> Variable is_control contrast_level ref_level n_contrast n_ref beta HR
#> <chr> <lgl> <chr> <chr> <int> <int> <dbl> <dbl>
#> 1 age FALSE age age 228 228 0.0187 1.02
#> 2 sex FALSE sex sex 228 228 -0.531 0.588
#> 3 ph.ecog FALSE ph.ecog ph.ecog 227 227 0.476 1.61
#> 4 ph.karno FALSE ph.karno ph.karno 227 227 -0.0164 0.984
#> 5 pat.karno FALSE pat.karno pat.karno 225 225 -0.0199 0.98
#> 6 meal.cal FALSE meal.cal meal.cal 181 181 -0.000124 1
#> 7 wt.loss FALSE wt.loss wt.loss 214 214 0.00132 1
#> # … with 4 more variables: lower_95 <dbl>, upper_95 <dbl>, p.value <dbl>,
#> # global.pval <dbl>
= combn(vars, 2, simplify = FALSE)
vars_comb = sapply(vars_comb, function(x) {
cor_value cor(data[[x[1]]], data[[x[2]]], use = "pairwise")
})
= cbind(as.data.frame(t(sapply(vars_comb, function(x) x))), cor_value)
df_cor colnames(df_cor) = c("var1", "var2", "correlation")
$size = abs(df_cor$correlation)
df_cor$way = ifelse(df_cor$correlation > 0, "positive", "negative")
df_cor
df_cor#> var1 var2 correlation size way
#> 1 age sex -0.12216709 0.12216709 negative
#> 2 age ph.ecog 0.19323604 0.19323604 positive
#> 3 age ph.karno -0.20318207 0.20318207 negative
#> 4 age pat.karno -0.12616688 0.12616688 negative
#> 5 age meal.cal -0.23141071 0.23141071 negative
#> 6 age wt.loss 0.03814787 0.03814787 positive
#> 7 sex ph.ecog -0.02060379 0.02060379 negative
#> 8 sex ph.karno 0.01138505 0.01138505 positive
#> 9 sex pat.karno 0.04607145 0.04607145 positive
#> 10 sex meal.cal -0.16835976 0.16835976 negative
#> 11 sex wt.loss -0.12907708 0.12907708 negative
#> 12 ph.ecog ph.karno -0.80726666 0.80726666 negative
#> 13 ph.ecog pat.karno -0.51122086 0.51122086 negative
#> 14 ph.ecog meal.cal -0.09851018 0.09851018 negative
#> 15 ph.ecog wt.loss 0.18758944 0.18758944 positive
#> 16 ph.karno pat.karno 0.52029737 0.52029737 positive
#> 17 ph.karno meal.cal 0.04223324 0.04223324 positive
#> 18 ph.karno wt.loss -0.17543452 0.17543452 negative
#> 19 pat.karno meal.cal 0.16575874 0.16575874 positive
#> 20 pat.karno wt.loss -0.17199064 0.17199064 negative
#> 21 meal.cal wt.loss -0.10257242 0.10257242 negative
$role = ifelse(
df_cox$p.value > 0.05, "non-signf",
df_coxifelse(df_cox$HR < 1, "protector", "risker")
)$`-log10(p)` = -log10(df_cox$p.value) df_cox
= polar_init(df_cox, x = Variable, aes(color = role, size = `-log10(p)`))
p p
+
p ::new_scale("color") +
ggnewscalepolar_connect(df_cor, x1 = var1, x2= var2, size = size, color = way, alpha = 0.3) +
scale_size(range = c(0.1, 4))
#> Scale for size is already present.
#> Adding another scale for size, which will replace the existing scale.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.