Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TableSubgroupMultiGLM #46

Closed
Jone-wuy opened this issue Sep 22, 2024 · 4 comments
Closed

TableSubgroupMultiGLM #46

Jone-wuy opened this issue Sep 22, 2024 · 4 comments

Comments

@Jone-wuy
Copy link

Thank you for your excellent work; it is very convenient to use. However, I encountered a problem during the subgroup analysis process and need your help. Problem description: An error occurs in TableSubgroupMultiGLM when the covariates in var_cov contain categorical variables. The results for the subgroups are all empty, but the overall results are available.

Warning message: 1: In formula.character(object, env = baseenv()): Using formula(x) is deprecated when x is a character vector of length > 1. Consider formula(paste(x, collapse = " ")) instead. I tried a few times and there is no problem when categorical variables are not included in the covariates, but once categorical covariates are added, an error is reported.

@jinseob2kim
Copy link
Owner

Could you share the reproducible example?

I try the below & get appropriate result

library(survival)
library(dplyr)
lung %>%
  mutate(
    status = as.integer(status == 1),
    sex = factor(sex),
    kk = factor(as.integer(pat.karno >= 70)),
    kk1 = factor(as.integer(pat.karno >= 60))
  ) -> lung
## Categorical
lung$ag <- factor(as.integer(lung$age > 60) + as.integer(lung$age > 70))

TableSubgroupMultiGLM(status ~ sex,
                      var_subgroups = c("kk", "kk1"), var_cov = c("ag"),
                      data = lung, line = TRUE, family = "binomial"
)
+ )
     Variable Count Percent           OR Lower  Upper P value P for interaction
sex2  Overall   228     100         2.93   1.6   5.38   0.001              <NA>
1        <NA>  <NA>    <NA>         <NA>  <NA>   <NA>    <NA>              <NA>
2          kk  <NA>    <NA>         <NA>  <NA>   <NA>    <NA>             0.462
3           0    38    16.9         9.09  0.81 102.13   0.074              <NA>
4           1   187    83.1          2.8  1.46   5.38   0.002              <NA>
5        <NA>  <NA>    <NA>         <NA>  <NA>   <NA>    <NA>              <NA>
6         kk1  <NA>    <NA>         <NA>  <NA>   <NA>    <NA>             0.984
7           0     8     3.6 314366015.45     0    Inf   0.997              <NA>
8           1   217    96.4         2.78  1.49   5.16   0.001              <NA>

@Jone-wuy
Copy link
Author

Thank you for your response.
I tried your suggestion, but it didn't resolve the issue. Here is my case: when I don't include categorical covariates, the results are fine. However, when I include categorical covariates, the subgroup results turn out to be NA.
Below are the run results, and the attachment contains my case data.

Thank you very much!

data <-data %>%
mutate(status = as.integer(status==1),
sex=factor(sex),
pa_d=factor(pa_d),
diet_d=factor(diet_d))
res1 <- TableSubgroupMultiGLM(formula=status~ln_oh,
var_subgroups = c("pa_d", "diet_d"),
data=data,
var_cov = c("age", "bmi"),
family = "binomial",
decimal.estimate = 2,

res1
Variable Count Percent OR Lower Upper P value P for interaction
ln_oh Overall 1200 100 1.17 0.9 1.52 0.247
1 pa_d NA 0.069
2 1 600 50 0.81 0.51 1.28 0.372
3 2 600 50 1.32 0.95 1.83 0.097
4 diet_d NA 0.539
5 1 600 50 1.02 0.63 1.64 0.95
6 2 600 50 1.17 0.85 1.62 0.336

res2 <- TableSubgroupMultiGLM(formula=status~ln_oh,
var_subgroups = c("pa_d", "diet_d"),
data=data,
var_cov = c("age", "bmi","sex"),
family = "binomial",
decimal.estimate = 2,
decimal.percent = 1,
decimal.pvalue = 3)

res2
Variable Count Percent OR Lower Upper P value P for interaction
ln_oh Overall 1200 100 1.36 1.03 1.8 0.028
1 pa_d 0.119
2 1 600 50
3 2 600 50
4 diet_d 0.547
5 1 600 50
6 2 600 50

data_example.csv

@jinseob2kim
Copy link
Owner

Sorry. I fix the issue. Please install the latest version via

remotes::install_github(“jinseob2kim/jstable”)

@Jone-wuy
Copy link
Author

Thank you for your fix. The issue has been perfectly resolved. Thanks again for your outstanding work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants